我们在找系统问题的时候,往往需要借助一些工具,brendangregg发布了一个PPT:Linux Performance Analysis and Tools,其中介绍了大多常用的系统分析工具,而此篇blog及之后的一些blog,会针对这些系统分析工具做一个简要说明,并简析其部分参数的用法,及相关示例,此会持续更新
1> uptime:显示平均负载,此项也经常在其他工具中显示。其分别显示1,5,15分钟的负载 如果负载值大于CPU数,这可能意味着CPU饱和了,或线程遭受调度延迟,也可能有磁盘IO的因素,使用其他工具进一步调查
2> top:显示系统概要和每个进程的系统信息
$ top#直接top命令,会显示如下信息:
top- 15:12:25 up 5:37, 5 users,loadaverage: 0.19, 0.12, 0.14
Tasks: 77 total, 1 running, 76 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.0%us, 0.7%sy, 0.0%ni, 98.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 499852k total, 489928k used, 9924k free, 96148k buffers
Swap: 975868k total, 4k used, 975864k free, 289780k cached
PID USERPR NI VIRT RES SHR S %CPU %MEMTIME+ COMMAND
4493 root 20 0 51484 8176 2108 S 1.0 1.6 3:06.18 iotop
21648 root 20 0 0 0 0 S 0.3 0.0 0:00.06 kworker/0:1
21650 ubuntu 20 0 17332 1224 924 R 0.3 0.2 0:00.18 top
1 root 20 0 24336 1924 1056 S 0.0 0.4 0:02.49 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kthreadd
top命令界面简介:
第一行:
top #名称
15:12:25 #系统当前时间
up 5:37#系统开机运行了多少时间
2 users#当前2用户在线
load average: 0.19, 0.12, 0.14 #系统1,5,15分钟的系统平均负载
第二行:
Tasks#进程状态
total#进程总数
running#进程正在运行的进程数
sleeping#睡眠的进程数
stopped#停止的进程数
zombie#僵死的进程数
第三行:
Cpu(s)#CPU的整体负载信息(其显示为从现在的时间到上一次刷新期间的百分比)
1.0%us#CPU运行用户的进程所花的时间百分比(不包含改变过nice值的进程)
0.7%sy#CPU运行内核进程所花的时间百分比
0.0%ni#CPU运行用户改变过nice值的进程所花的时间百分比
98.3%id#CPU空闲时间百分比
0.0%wa#CPU用再IO等待的时间百分比
0.0%hi#CPU硬中断时间百分比
0.0%si#CPU软中断时间百分比
0.0%st#CPU为了其他任务从虚拟机管理程序窃取的时间(参照top手册)
第四行:
Mem: #物理内存使用情况
total#物理内存总量
used #使用的物理内存总量
free #空闲的内存量
buffers #用作缓存内存量
第五行:
Swap:#交换空间的使用情况(具体同上
第六行:#top中输入指令,显示状态的地方
第七行及以下:#显示的每个process使用的资源情�
PID:#进程号
USER:#进程所有者
PR:#进程的优先级,值越小越优先被执行
NI#进程的nice值
VIRT:#进程占用的虚拟内存
RES:#进程占用的物理内存
SHR:#进程使用的共享内存
S:#进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态等
%CPU:#进程占用CPU的使用率
%MEM:#进程使用的物理内存的百分比
TIME+:#该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:#进程启动命令名称
top的用法:
top -hv | -bcHisS -d delay -n iterations -p pid [, pid ...]
-h#显示版本及帮助信息
-b#以批次的方式执行top
-n#后边加数字,通常和-b搭配,表示运行top几次
-d#后面加秒数,top显示的内容更新的秒数,默认5s
-p#后面加PID号,指定监测某个进程
在top执行过程中可使用的按键指令:
or #立即刷新
> or #帮助信息
#退出
#以cpu的使用率排序显示
#以Memory的使用资源排序显示
#以TIME+为准进行排序显示
#以PID排序显示
#kill掉某个进程
#修改某进程nice值
#设置刷新时间间隔
#显示命令完全模式
#显示或隐藏Tasks和Cpu(s)的状态信息
#显示或隐藏Mem和swap的状态信息
#显示或隐藏uptime信息(第一行)
#增加或减少进程显示标志
#累计模式,会把已完成或退出的子进程占用的CPU时间累计到父进程的MITE+
#指定显示用户进程
#只显示正在运行的进程
#保存对top的设置到文件~/.toprc,下次启动将自动调用toprc文件的设置
更多详情请查看top手册$ man top
3> htop:super top #与top类似,不再详述