我们在找系统问题的时候,往往需要借助一些工具,brendangregg发布了一个PPT:,其中介绍了大多常用的系统分析工具,而此篇blog及之后的一些blog,会针对这些系统分析工具做一个简要说明,并简析其部分参数的用法,及相关示例,此会持续更新
1> uptime:显示平均负载,此项也经常在其他工具中显示。其分别显示1,5,15分钟的负载 如果负载值大于CPU数,这可能意味着CPU饱和了,或线程遭受调度延迟,也可能有磁盘IO的因素,使用其他工具进一步调查
2> top:显示系统概要和每个进程的系统信息
$ top #直接top命令,会显示如下信息:
- top - 15:12:25 up 5:37, 5 users, load average: 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 USER PR NI VIRT RES SHR S %CPU %MEM TIME+ 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类似,不再详述