目录
1、简介
top命令是linux下常用的性能分析工具,能够实时的显示系统中各个进程的资源占用情况,常用于服务端性能分析。
2、top命令说明
2.1、top命令的结果分为两部分
- 统计信息:前五行是系统的整体统计信息。
- 进程信息:统计信息下方类似表格的区域显示的是进程的详细信息,默认5秒刷新一次
2.2、统计信息说明
2.2.1、第一行
该行表示top任务队列信息(系统运行状态及平均负载),与uptime命令结果相同
- 第一段:系统当前时间,例如:13:51:04
- 第二段:系统运行时间,未重启的时间,时间越长系统越稳定。例如:up 778 days, 17:53;格式:up xx days, HH:mm
- 第三段:登录用户数,例如:3 users,表示当前有3个用户登录。
- 第四段:平均负载(Load Average)是一段时间内系统的平均负载,这个一段时间一般取1分钟、5分钟、15分钟。
load average:1.01,2.69,2.66 来举例:
第一位1.01:表示最近1分钟平均负载
第二位2.69:表示最近5分钟平均负载
第三位2.66:表示最近15分钟平均负载
2.2.2、第二行
该行表示Tasks任务进程相关信息
- 第一段:进程总数,402 total表示总共运行402个进程。
- 第二段:正在运行的进程数,例如:1 running表示有一个正在运行的进程
- 第三段:正在睡眠的进程数,例如:404 sleeping。
- 第四段:停止的进程数,例如:0 stopped。
- 第五段:僵尸进程数,例如:0 zombile。
2.2.3、第三行
CPU相关信息,如果是多核CPU,按数字1可以显示多核CPU信息,此时第一段将转换为CPU核数,数字1可以来回切换。
- 第一段:us用户空间占用CPU百分比,例如:Cpu(s):5.8%us。
- 第二段:sy内核空间占用CPU百分比,例如:1.2%sy。
- 第三段:ni用户进程空间内改变过优先级的进程占用的百分比,例如:0.00%ni。
- 第四段:id空闲CPU百分比,例如:94.2%id。
- 第五段:wa等待输入输出的CPU时间百分比,例如:0.00%wa。
- 第六段:hi CPU服务于硬件中断所耗费的时间总额,例如:0.0%hi。
- 第七段:si CPU服务软中断所耗费的时间总额,例如:0.0%si。
- 第八段:st Steal time 虚拟机被hypervisor偷去的CPU时间(如果当前处于一个hypervisor下的vm,实际上 hypervisor也是要消耗一部分CPU处理时间的)
2.2.4、第4行
Mem 内存相关信息(Mem: 32815228k total, 32146340k used, 668888k free, 73948k buffers)
注意:
1G=1024M=1024*1024K
1024K=1M
- 第一段:物理内存总量,例如: 32815228k total。
- 第二段:使用的物理内存总量,例如:Mem: 32815228k used
- 第三段:空闲内存总量,例如:668888k free。
- 第四段:用作内核缓存的内存量,例如:73948k buffers
2.2.5、第5行
Swap 交换分区相关信息(Swap: 8524272k total, 7075992k used, 1448280k free, 7757408k cached)
- 第一段:交换区总量,例如:Swap: 8524272k total。
- 第二段:使用交换区总量,例如:7075992k used。
- 第三段:空闲交换区总量,例如:1448280k free。
- 第四段:缓冲的交换区总量,例如: 7757408k cached。
2.3、进程信息说明
在top命令中按f可以查看显示的列信息,按对应的字母来开启或者关闭列,大写字母表示开启,小写字母表示关闭,带*号的标识默认列。
- A: PID = Process Id(进程ID)
- E: USER = User Name(进程所有者的用户名)
- H: PR = Priority(优先级)
- I: NI = Nice value(nice值,负值表示高优先级,正值表示低优先级)
- O: VIRT = Virtual Image (kb)(进程使用的虚拟内存总量,单位kb,VIRT=SWAP+RES)
- Q: RES = Resident size (kb)(进程使用的,未被换出的物理内存大小,单位kb,RES=CODE+DATA)
- T: SHR = Shared Mem size (kb)(共享内存大小,单位kb)
- W: S = Process Status(进程状态,D=不可终端的进程状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
- K: %CPU= CPU usage(上次更新到现在的CPU时间占用百分比)
- N: %MEM = Memory usage (RES)(进程使用的物理内存占用百分比)
- M: TIME+ = CPU Time, hundredths(进程使用的CPU时间占比,单位1/100秒)