1. 如何查看cpu负载?通过什么命令
当你的电脑运行缓慢,操作起来很卡的时候,这时你应该查看一下你的cpu是不是处于负载状态下。下面我们通过命令 top 或 uptime 查看平均负载,如下:
三个参数分别表示 一分钟,5分钟,15分钟 占的cpu比例,越低表示cpu处于比较空闲的阶段,但是越大则会出现cpu过载的问题。
2. 了解负载参数的意义?
在单个cpu下,由于只有一个cpu,所以所有操作都经过它来完成,我们举个例子来形象的阐述这个过程:
我们把cpu比作一条桥,操作进程比作车。因为只有一个cpu,所以车辆都必须从这个车道通过,
系统负载为0的时候,表示没有车经过
负载为0.5的时候,表示大桥有一半的路段有车辆
负载为1.0,意味着大桥的所有路段都有车,也就是说大桥已经"满"了。但是必须注意的是,直到此时大桥还是能顺畅通行的。
负载大于1,就表示大桥已经处于拥挤状态,后面的车必须处于等待中,等前面的车辆通过大桥后,后面排队的车辆才能依次通过。
通过桥和车辆的例子,我们能很好的理解,如果你想车辆或者你的进程不需要等待,你就需要让你的cpu 负载 低于 1。当大于或等于 1的时候你就需要考虑如何降低负载。
3. 多个cpu或者多核cpu 负载值的变化?
上述我们讲的都是单cpu或者单核cpu的情况,那么多核或者多个cpu的情况下,负载是怎么变化的呢?
我们继续用之前桥的例子,单个cpu表示桥上只有一条道,那多个/多核 cpu 表示 桥上有多条道,这样桥上的整体容量是不是增加了n倍?
所以,2个CPU表明系统负荷可以达到2.0,此时每个CPU都达到100%的工作量。推广开来,n个CPU的电脑,可接受的系统负荷最大为n.0。
4. 观察cpu负载每个时间的变化情况,判断运行状态?
通过 top 命令显示了 "load average" 的三个平均值分别是1分钟、5分钟,15分钟的系统负载,那么问题来了,我们应该参考一分钟,五分钟,还是十五分钟?
如果只有1分钟的系统负荷大于1.0,其他两个时间段都小于1.0,这表明只是暂时现象,问题不大。
如果15分钟内,平均系统负荷大于1.0(调整CPU核心数之后),表明问题持续存在,不是暂时现象。所以,你应该主要观察"15分钟系统负荷",将它作为电脑正常运行的指标。
5. 查看系统的cpu核数
通过 cat /proc/cpuinfo 能获取系统中每个处理器的信息,如果你想知道cpu核心数量,通过 grep -c 'model name' /proc/cpuinfo