作者回复: 感谢william ,我这里解释的平均负载的确是不全面的,但是平均负载和cpu使用率并非是两码事,平均负载包含了cpu利用率。 我在上面的讲解中用了一个高速公路的例子,多车道对应多路cpu,每辆车对应多个进程,其实还应该加上两个条件才准确:比如是“高速”还是“低速”道路--即IO,还有车速--即cpu利用率。
作者回复: 终端,泛指一切能控制计算机的输入接口,包括串口线的硬件终端、也包括类似windows的图形界面,默认运行linux服务器的字符界面;而在Linux字符界面上,软件终端又分成标准终端设备tty1-tty6 ,和虚拟终端pts 。像是我们使用的ssh连接的终端、在图形界面打开的终端程序,都属于虚拟终端,它们和tty设备的区别就是没有设备编号,所以叫做“虚拟”终端
作者回复: 可能是运行进程过多,导致内存不足导致的
作者回复: 还没有遇到过,看看是否up时间是 xxx days, xxx min, top 查看的pid运行时间是 TIME表示进程使用的CPU时间总和,单位是秒;TIME+也是表示进程使用的CPU时间总和,单位1/100秒,是不是单位计算换算不对
作者回复: 没有道理, 平均负载是反映系统繁忙程度,包括cpu、也包括等待io,还有进程数量等衡量系统性能的指标
作者回复: 通过 procfs 源码里面的proc/sysinfo.c这个文件,你可以发现 buff/cache 包括下面这几项: buff/cache = Buffers + Cached + SReclaimable 这三个值,你查看cat /proc/meminfo 文件可以得到。 相信Buffer、Cache你已经听过很多次了,最后的 SReclaimable 是指可以被回收的内核内存,包括 dentry 和 inode 等。 这三个值,或者说 buff/cache主要强调了可以被回收的内存大小。 这里需要注意的是,这个值是动态的,在查看它的时候,也会申请一部分内存。所以不会严格相等。这个值为开发和运维人员提供了一个可回收内存大小的一个参考。