Linux系统上cpu和内存的使用率是如何计算的

哎,说到Linux中的CPU和内存计算,我在做服务器的时候确实遇到了很多坑。

CPU负载,这个东西暂时不能看,必须过一段时间看。
例如,我有一个网站服务器一年了,CPU 一直很高。
我看了看顶部,突然它升了起来,以为系统要冻结了。
后来我机灵了,用iostat -c来测试一下,发现运行某个脚本时CPU不工作。
查看/proc/[pid]/stat文件,该文件记录了进程所花费的CPU时间。
还得自己掏钱,挺麻烦的。
我通常使用top或htop。
他们自己计算并且很容易查看。

内存使用情况,就看这一点了。
我有一个客户端,其服务器只有4 G内存。
然后添加了一个新功能,突然就满了。
我去看free-m,一看,哦,只剩下1 G了。
赶快增加内存,否则网站会崩溃。
查看/proc/[pid]/statm 中的resident 列。
计量单位是KB。
如果要计算所有进程,请将它们相加并除以总内存。
在/proc/meminfo中搜索MemTotal,查看内存总容量。
我数了一次,然后使用了 free -h,这很直观。

监控工具,top、htop、vmstat、iostat——这些都是好东西。
它们都依赖于 /proc 伪文件系统,该系统拥有一切。
例如,/proc/cpuinfo 查看处理器型号,/proc/meminfo 查看内存信息。
这些工具直接从中读取数据并进行计算,以便您可以看到它。
我正在调试一个PHP程序,CPU非常繁忙。
我用top看了一下,是一个PHP进程。
经过进一步调查,我发现某个循环没有得到适当的优化。
然后我更改了代码,处理器崩溃了。

简而言之,所有这些命令行工具都是基于/proc的。
经常使用后你就会知道哪个命令是做什么的。
当我在Linux服务器上工作时,我经常阅读这些文档。
我经历过很多陷阱并理解它们。

Linux系统查看CPU使用率、内存使用率、磁盘使用率

中央处理器使用率:
顶部命令:实时视图。
空闲百分比 = 未使用的 CPU 频率。
使用率 = 1 00%
空闲百分比。

vmstat命令:CPU、内存、虚拟内存和I/O的综合视图。
分析r值和id值来确定负载。

内存使用情况:
top命令:查看“KiBMem”行的已使用量和总量。
使用量=已使用/总计1 00%。
Free命令:直接显示内存使用情况。
检查使用和共享。
支持 b、k、m、g 单位。

磁盘使用情况:
df命令:直接检查磁盘空间。
使用量=已使用/总计1 00%。

sar、mpstat、iostat:更详细的性能监控。
提供完整的系统性能数据。