Linux系统性能分析——CPU

一、引言
Linux系统的性能分析,基本上是分为CPU、内存、磁盘IO、网络这几个部分。

本篇介绍CPU的性能分析。

二、CPU信息
1、 /proc/cpuinfo
cpuinfo
具体参数:
processor :系统中逻辑处理器唯一标识
vendor_id :CPU制造商
cpu family : CPU产品系列代号
model   :CPU属于其系列中的哪一代的代号
model name:CPU属于的名字及其编号、标称主频
cpu MHz  :CPU的实际使用主频
physical id :每个物理封装的唯一标识
core id :一个物理封装中每个内核的唯一标识
siblings :一个物理封装上逻辑处理器个数
cpu cores :一个物理封装中内核数量(超线程技术可以使1个内核分为2个逻辑处理器)
2、lscpu
lsusb

3、dmidecode
dmidecode
使用说明:
#dmidecode -t processor
还可以查看其他参数:
other

三、CPU使用情况
1、top
top
具体参数:
load average: 0.77, 0.87, 0.72:系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。数值越高负载越重,一般要求最好不要超过cpu的核数。
total:进程总数
running:正在运行的进程数
sleeping:睡眠的进程数
stopped:停止的进程数
zombie: 僵尸进程数
Cpu(s):
0.7% us(user mode) :用户空间占用CPU百分比
0.2% sy(system mode) :内核空间占用CPU百分比
0.0% ni(low priority user mode) :用户进程空间内改变过优先级的进程占用CPU百分比
99.1% id(idle task) :空闲CPU百分比
0.0% wa(I/O wait) :等待输入输出的CPU时间百分比
0.0%hi(servicing IRQs):硬件CPU中断占用百分比
0.0%si(servicing soft IRQs):软中断占用百分比
0.0%st(steal):虚拟机占用百分比
2、vmstat
vmstat
使用说明:
#vmstat [delay [count]]
delay :相邻的两次采样的间隔时间、
count :采样的次数,count只能和delay一起使用
具体参数:
r:表示在cpu运行队列中等待的进程数。如果这个值很大,则说明很多进程在排队等待执行。
in、cs:分别代表中断次数和上下文切换次数。这两个值越大,代表系统在进行大量的进程切换。这说明我们的进程数(或者线程数)太大,导致系统不断的在切换进程,应该尽量减少进程或线程数量。
us、sy、id、wa:这四个值分别代表用户进程、系统进程、空闲和等待的cpu时间占比。
3、mpstat
mpstat
使用说明:
#mpstat [-P {|ALL}] [internal [count]]
-P {|ALL} :表示监控哪个CPU, cpu在[0,cpu个数-1]中取值
internal :相邻的两次采样的间隔时间、
count :采样的次数,count只能和delay一起使用
具体参数:
%usr:在internal时间段里,用户态的CPU时间(%),不包含nice值为负进程 (usr/total)*100
%sys:在internal时间段里,内核时间(%) (system/total)*100
%nice:在internal时间段里,nice值为负进程的CPU时间(%) (nice/total)*100
%iowait:在internal时间段里,硬盘IO等待时间(%) (iowait/total)*100
%irq:在internal时间段里,硬中断时间(%) (irq/total)*100
%soft:在internal时间段里,软中断时间(%) (softirq/total)*100
%idle:在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间(%) (idle/total)*100
4、iostat
iostat
具体参数:
%user:在internal时间段里,用户态的CPU时间(%),不包含nice值为负进程 (usr/total)*100
%system:在internal时间段里,内核时间(%) (system/total)*100
%nice:在internal时间段里,nice值为负进程的CPU时间(%) (nice/total)*100
%iowait:在internal时间段里,硬盘IO等待时间(%) (iowait/total)*100
%idle:在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间(%) (idle/total)*100
5、uptime
uptime
具体参数:
load average: 0.85, 0.86, 0.74:系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。数值越高负载越重,一般要求最好不要超过cpu的核数
6、ps和pstree
ps:
ps
pstree:
pstree

三、单独进程CPU分析
1、strace
用来分析进程系统调用的:
strace
还可以通过PID分析:
#strace -p PID
2、jstack
java提供的用来分析java进程的工具,可以看当前进程的线程栈调用情况。
文章部分内容参考:http://www.simplemain.com/article/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值