文章目录
- 1. 查看CPU load
- 2.CPU load含义
- 2.1 单核CPU
- 2.2 多核CPU
- 3. 获得系统的CPU信息
1. 查看CPU load
uptime
loadd average后的三个数字分别代表1分钟、5分钟、15分钟的负载情况平均值
2.CPU load含义
CPU load是一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息。由此可以看来,他并不是一个比率关系,CPU cores越多,理论上其负载的能力越强。
2.1 单核CPU
当CPU完全空闲的时候,平均负荷为0(即load average的值为0);当CPU工作量饱和的时候,平均负荷为1;当有线程等待时,平均负荷为等待线程数+1,如果这个时候等待线程过多,等待时间就会长,需要考虑增加CPU 了。
来个经典比喻:
不妨把这个CPU想象成一座大桥,桥上只有一根车道,所有车辆都必须从这根车道上通过(很显然,这座桥只能单向通行),大桥的通行能力(一次10辆车),就是CPU的最大工作量;桥梁上的车辆,就是一个个等待CPU处理的进程(process)。
1)系统负荷为0,意味着大桥上一辆车也没有。
2)系统负荷为0.5,意味着大桥一半的路段有车。
3)系统负荷为1.0,意味着大桥的所有路段都有车,也就是说大桥已经"满"了。但是必须注意的是,直到此时大桥还是能顺畅通行的。
4)系统负荷为1.7,意味着车辆太多了,大桥已经被占满了(100%),后面等着上桥的车辆为桥面车辆的70%。
以此类推,系统负荷2.0,意味着等待上桥的车辆与桥面的车辆一样多; 系统负荷3.0,意味着等待上桥的车辆是桥面车辆的2倍。 总之,当系统负荷大于1,后面的车辆就必须等待了;系统负荷越大,过桥就必须等得越久。 CPU的系统负荷,基本上等同于上面的类比。
2.2 多核CPU
当CPU核数是4时,系统的处理能力是单核CPU的4倍,这时候CPU工作量饱和时,平均负荷为4,即每个CPU正在处理一个负荷。
类比到这个小车过桥的比喻中,4核CPU相当于4车道大桥。
1)系统负荷为0,意味着大桥上一辆车也没有。
2)系统负荷为1.0,意味着大桥只有一条车道占满,其他车道空闲着,其实也不一定所有车辆挤一条车道上,可以平均分配到不同车道,每条车道负载0.25。
3)系统负荷为4,意味着大桥的4条路段都有车,也就是说大桥已经"满"了。但是必须注意的是,直到此时大桥还是能顺畅通行的。
4)系统负荷大于4,意味着车辆太多了,大桥已经被占满了(100%),后面已经有等着上桥的车辆了。
3. 获得系统的CPU信息
1.获得CPU详细信息:
cat /proc/cpuinfo
2.查看CPU核数:
cat /proc/cpuinfo | grep "cpu cores" |sort | wc -l
3.傻瓜命令:
lscpu