top命令介绍
top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于 Windows 的任务管理器。
top用于动态监控进程所占系统资源,每隔3秒变一次。这个命令的特点是把占用系统资源(CPU,内存,磁盘IO等)最高的进程放到最前面。top命令打印出了很多信息,包括系统负载(loadaverage)、进程数(Tasks)、cpu使用情况、内存使用情况以及交换分区使用情况。
命令内容详解

第一行:
1 | top - 04:25:26 当前系统时间 |
load average 表示时间段内活动的进程数,这些值越大就说明你的服务器压力越大。一般情况下这个值只要不超过服务器的cpu数量就没有关系。如果长时间超出了cpu数量那就要关注一下了。
第二行:
1 | Tasks: 任务 |
第三行:
1 | Cpu(s): cpu状态 |
第四行:
1 | Mem: 内存状态 |
第五行:
1 | Swap: 交换分区 |
第六行(空)
第七行:
1 | PID 进程id |
其中,PR为进程的实时优先级(跟内核有关),范围0-99,数字越小优先级越低;
nice值的范围为 -20-19 ,这个值越小,那么对应的进程优先级越高,在top里,PR-NI=20, 默认启动一个进程,nice是0;
S进程状态:D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程。
在日常的运维中关注的较多的项是 :%CPU, %MEM, COMMAND 这三个,需要多注意。
在top状态下,按键盘数字“1”,可监控每个逻辑CPU的状况:

在 top 状态下,按 “shift + m”, 可以按照内存使用大小排序
top -bn1 它表示非动态打印系统资源使用情况,即一次性全部把所有信息输出出来而非动态显示,可以用在shell脚本中
top -c 最右侧的命令可以显示更详细的信息
