分类目录:计算机基础

以下是分类 计算机基础 下的所有文章

Top/Free命令中的Buffer和Cache的区别

在对Linux系统分析的时候,少不了使用top/free等命令来查看内存的使用情况,内存的使用并不是简单的占用和空闲的状态,如果读者用过top/free命令,会发现里面有buffer和cache的数据,从字意上来讲,都是缓存,那么弄清楚缓存什么数据才能有效的区分这两种缓存。 12345robert@robert-ThinkPad-X200:~/working/cloudate-wor……

Java中如何判断底层硬件是大端还是小端

尽管Java隐藏了对内存的直接操作,在JVM层实现了抽象的内存模型和垃圾回收算法,通常Java的程序员不需要了解底层的硬件特性,但是有的时候还是需要知道底层硬件CPU是大端还是小端,首先了解一下什么是大小端。 大小端的主要区别在于低位地址存的是高位还是地位: 大端(Big Endian): 低地址存高位。 小端(Little Endia……

多核CPU是多个运算器还是多个控制器

最近一个同事和我讨论多线程为什么会提高效率,我说多线程何以运行在多核CPU的不同的核心上或者多个独立CPU上,如果不考虑并行性限制的问题,多个任务完全可以并行执行,那么,性能将根据CPU或者CPU核心的数量成倍的增加,如果某些任务有IO等待,那么这个CPU或者CPU核心还可以服务其他的任务,这位同事当时反驳说, 多……

互联网之非功能质量

互联网项目唯快而不破,第一开发效率要快,第二运行效率更要快,听了这个你会问了,那架构呢,不好意思,架构只能当小媳妇了,哈哈 事实上,互联网行业所使用的技术来自于传统行业,例如,任何互联网行业使用的java技术,其实离不开J2SE, J2EE等规范所规定的技术栈,但是各自侧重点不同,传统行业侧重于使用J2EE规范的技……

无状态和并行性是可伸缩性的两大基石

当前在互联网的后台服务中,已经从垂直伸缩演进到水平伸缩的阶段,水平伸缩具有低成本,高收益的特点,但是水平伸缩依赖于服务必须具有无状态和并行性,无状态保证各个服务请求之间没有依赖和关联,使水平伸缩才有可能,而水平伸缩还依赖服务的并行程度,就是CPU运算资源固定的前提下,怎么来度量可伸缩性呢? 首先,我要……

如何利用iostats -xk命令的输出计算IO并发数

我们在一些低端的机器上,使用的是普通的SATA硬盘,那么IO一定是串行的,也就是服务完一次IO再服务下次IO,但是,在一些高性能的服务器上,服务器大都使用RAID,RAID可以使用RAID0,RAID01,RAID3,RAID5等进行条带化,使IO进行一定的并行化,这样能够有效的提高效率,本文就讨论如何使用iostats命令来计算IO并行数。 对于串……

常用计算机操作的量级

我们设计一个系统,最重要的非功能质量就是高性能,也都需要进行性能测试,因此在设计系统的时候就要对系统的各个方面的容量进行合理的评估,因此,我们需要对一些常用的计算机操作所需要的时间有个大体的估算,这样才能设计出一个合理而且易于实现的系统,从而减小线上系统失败的风险。 硬盘IO 1. 普通的SATA硬盘每秒能……