top
命令是Linux系统中最常用的进程监控工具之一,它提供了系统运行的动态实时视图,包括系统负载、进程活动、CPU和内存使用情况等信息。
直接在终端输入:
top
top - 15:30:45 up 2 days, 5:12, 3 users, load average: 0.15, 0.10, 0.05
Tasks: 120 total, 2 running, 118 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.3 us, 1.0 sy, 0.0 ni, 96.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 8000000 total, 2000000 free, 3000000 used, 3000000 buff/cache
KiB Swap: 2000000 total, 1800000 free, 200000 used. 4500000 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 root 20 0 400000 50000 8000 R 5.0 0.6 0:10.23 firefox
5678 mysql 20 0 2000000 500000 20000 S 2.3 6.3 10:23.45 mysqld
各列含义: - PID:进程ID - USER:进程所有者 - PR:进程优先级 - NI:nice值,负值表示高优先级,正值表示低优先级 - VIRT:进程使用的虚拟内存总量(KB) - RES:进程使用的、未被换出的物理内存大小(KB) - SHR:共享内存大小(KB) - S:进程状态(D=不可中断的睡眠,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程) - %CPU:上次更新到现在的CPU时间占用百分比 - %MEM:进程使用的物理内存百分比 - TIME+:进程使用的CPU时间总计,单位1/100秒 - COMMAND:命令名/命令行
在top运行中可以使用以下交互命令:
批处理模式:将top输出保存到文件
top -b -n 1 > top_output.txt
监控特定用户进程:
top -u username
设置刷新间隔(例如每2秒刷新):
top -d 2
只显示特定进程:
top -p PID1,PID2,PID3
结合grep过滤:
top -b -n 1 | grep "process_name"
高CPU使用率:
strace
或perf
进一步分析高内存使用:
僵尸进程:
高IO等待(wa):
iotop
或vmstat
进一步分析top
命令是系统管理员和开发人员必备的工具,熟练掌握可以帮助你快速定位系统性能问题。