序言
介绍常用的进程CPU占用率测量命令的使用。
系统信息查看命令
查看CPU的物理核心数
cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
查看系统CPU型号主频等信息
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
查看CPU逻辑核心数(一个CPU是几核的)
cat /proc/cpuinfo |grep "processor"|wc -l cat /proc/cpuinfo |grep "cores"| uniq cat /proc/cpuinfo |grep processor
较全CPU信息查看命令
lscpu
查看CPU主频
cat /proc/cpuinfo |grep MHz| uniq
查看操作系统内核信息(查看是否支持SMP)
uname -a
物理CPU个数与逻辑CPU个数的关系
逻辑CPU个数=物理CPU个数×cpu cores
逻辑CPU个数=processor×siblingscpu cores如果cpu cores和siblings不相等的话,表明服务器CPU支持超线程技术(可以在逻辑上再分出几倍的cpu cores来)
进程CPU核心占用率测量
进程CPU实时查看命令
- top
只显示特定进程CPU实时占用信息
- top -p pid1,pid2,pid3
添加进程在用CPU核心信息(实时)
- top ——> 按f ——> 按d高亮行“P = Last Used Cpu(SMP)” ——>按q退出 ——>按W保存配置
查看进程在用的CPU核心信息(静态)
- ps -eo pid,args,psr (args为命令行所在位置)
进程CPU统计平均值查看命令(统计进程打开到当前时刻的CPU占用率)
- ps -eo pid,pcpu | sort -n -k 2 (查看特定进程号)
- ps aux
- ps aux | sort -k3nr | head -n 10 (CPU占用前10)
进程分配给特定CPU核心
- htop ——> taskset -cp 3 27983 (将进程27983绑定到CPU第4个核上运行)
- htop ——> 选定特定进程 ——> 按a ——> 空格选择使用哪个CPU核 ——> Enter确认
查看不同CPU核心的占用率
mpstat -P ALL 1 6
- -P表示要检测哪个CPU核心
- 检测所有核心,每隔1s更新一次,共统计6次
mpstat -P 0 2 5
- 检测第一个核,隔2s统计一次,统计5次
sar -P ALL 1 6
- 1:每个1s更新一次
- 6:总共统计6次
top查看特定进程5050下各个线程的CPU占用情况
- top -H -p 5050
ps查看特定进程5050各个线程CPU占用率情况:
- ps -eLo pid,lwp,pcpu | grep 5050
多核/单核CPU进程/线程的CPU占用率计算
- 重点参考(利用/proc文件系统)
Acknowledgements:
http://blog.csdn.net/chszs/article/details/47278019
http://blog.sina.com.cn/s/blog_45e9485a0101gvcn.html
2017.05.16