top命令动态展示系统整体资源和各个进程资源占用状况,是Linux下常用的性能分析工具。
top命令语法
使用格式:top [-] [d] [b] [H] [p] [q] [c] [C] [S] [s] [n]
参数说明:
d 指定每次屏幕刷新间隔时间。 p 通过进程ID查看指定进程的状态。 n 刷新次数,完成后自动退出 b 批次模式,搭配"n"参数一起使用,可以用来将top的结果重定向到文件 H 查看线程占用资源状态 u 查看指定用户进程占用资源情况 c 显示整个命令行而不只是显示命令名
top使用实例
查看进程ID为6663的资源占用情况,每隔2秒刷新一次,总共查看10次
top -b -p 6663 -d 2 -n 10 top -b -p 6663 -d 2 -n 10 > data.txt #重定向到文件
查看进程ID为6663的线程资源占用情况,性能测试常用。区别就是加参数-H
top -b -H -p 6663 -d 2 -n 10 top -b -H -p 6663 -d 2 -n 10 > data.txt #重定向到文件
top默认输出关键信息解读
top - 07:09:37 up 1 day, 17:43, 14 users, load average: 0.00, 0.03, 0.05 Tasks: 145 total, 1 running, 144 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.7 us, 0.3 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st Mem : 8010528 total, 126708 free, 1172488 used, 6711332 buff/cache Swap: 0 total, 0 free, 0 used. 6498684 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 9411 root 20 0 7076 5988 484 S 0.3 0.1 4:45.07 top 9422 root 20 0 34604 13060 1196 S 0.3 0.2 6:07.28 sshd 1 root 20 0 43200 2952 1796 S 0.0 0.0 0:13.42 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:00.53 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 7 root rt 0 0 0 0 S 0.0 0.0 0:00.45 migration/0
第1行:load average: 0.00, 0.03, 0.05。系统负载统计汇总
load average,表示系统负载(任务队列的平均长度), 三个数值分别为1、5、15分钟前到现在的平均值。如果这个数除以逻辑CPU个数,结果高于5就表明系统在超负荷运转。
第3行:Cpu(s): 0.7 us, 0.3 sy, 0.0 ni,99.0 id, 0.0 wa, 0.0 hi, 0.0 si。CPU使用信息汇总
us 用户空间占用CPU百分比 sy 内核空间占用CPU百分比 ni 用户进程空间内改变过优先级的进程占用CPU百分比 id 空闲CPU百分比 wa I/O等待的CPU时间百分比 hi 硬件CPU中断占用百分比 si 软中断占用百分比 st 虚拟机占用百分比
第4行:Mem: 8010528 total, 126708 free, 1172488 used, 6711332 buff/cache。内存使用情况汇总。
第5行:Swap: 0 total, 0 free, 0 used. 6498684 avail Mem。交换空间使用情况汇总。
进程资源占用情况各字段含义解读
PID 进程id PPID 父进程id USER 进程所有者的用户名 PR 优先级 NI nice值。负值表示高优先级,正值表示低优先级 VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA SHR 共享内存大小,单位kb S 进程状态。D为不可中断的睡眠状态 R为运行 S为睡眠 T为跟踪/停止 Z为僵尸进程 %CPU 上次更新到现在的CPU时间占用百分比 TIME 进程使用的CPU时间总计,单位秒 TIME+ 进程使用的CPU时间总计,单位1/100秒 %MEM 进程使用的物理内存百分比 COMMAND 进程名称
top交互命令
h 显示帮助界面,给出一些简短的命令总结说明 P 根据CPU使用百分比大小进行排序 m 切换显示内存信息 M 根据驻留内存大小进行排序 c 切换显示命令名称和完整命令行 t 切换显示进程和CPU状态信息 k 终止一个进程。 i 忽略闲置和僵死进程。这是一个开关式命令。 r 重新安排一个进程的优先级别 S 切换到累计模式 s 改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s f或者F 从当前显示中添加或者删除项目 o或者O 改变显示项目的顺序 l 切换显示平均负载和启动时间信息 T 根据时间/累计时间进行排序 W 将当前设置写入~/.toprc文件中 q 退出程序
其他
按数字1,查看各CPU性能数据,再按数字1,返回 "Shift + <" 和 "Shift + >",翻页查看进程资源占用信息