top命令介绍
top用于动态监控进程所占系统资源,每隔3秒变一次。
这个命令的特点是把占用系统资源(CPU,内存,磁盘IO等)最高的进程放到最前面。
top命令打印出了很多信息:
包括系统负载(loadaverage)、进程数(Tasks)、cpu使用情况、内存使用情况以及交换分区使用情况。
(1) top
14:13:57 当前系统时间
up 40 days 系统已经运行的时间(不间歇的运行)
2 user, 当前登录系统的用户数
load average: 0.06 0.07, 0.05 平均负载,三个数分别表示1分钟、5分钟、15分钟的平均负载数
load average 表示时间段内活动的进程数,这些值越大就说明你的服务器压力越大。
一般情况下这个值只要不超过服务器的cpu数量就没有关系。如果长时间超出了cpu数量那就要关注一下了。
(2) Tasks: 任务
107 total, 共有进程数
1 running, 正在运行的进程数
104 sleeping, 休眠状态下的进程数
0 stopped, 停止状态的进程数
0 zombie 僵尸进程数
(3) Cpu(s): cpu状态
2.4%us, 用户占用的cpu时间百分比
1.7%sy, 系统占用的cpu时间百分比
0.0%ni, 改变优先级的进程占用cpu时间百分比
96.0%id, cpu处于空闲状态的时间百分比
0.0%wa, I/O等待所占用的cpu时间百分比
0.2%hi, 硬中断(Hardware IRQ)占用CPU的百分比
0.0%si, 软中断(Software Interrupts)占用CPU的百分比
0.0%st 被偷走的cpu所占百分比(一般都为0,不用关注)
(4)Mem: 内存状态
3881616 KB total, 物理内存总量
116244 KB used, 被使用的内存
2687252 KB free, 空闲的内存
1078120 KB buffers 缓冲大小(即将写入磁盘的)
3881616KB = 3 790.640625 MB = 3.7G
(5)Swap: 交换分区
0 total, 交换区总量
0k used, 使用的大小
0k free, 空闲的大小
790112KB cached 缓存大小(从磁盘中读取的)
(6)PID 进程详细情况
PID 进程id
USER 进程所属的用户
PR 进程优先级
NI 进程优先值(nice值)
VIRT 进程使用的虚拟内存总量,单位为kb
RES 进程使用的、未被换出的物理内存大小,单位kb
SHR 共享内存
S 进程状态
%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计,单位1/100秒
COMMAND 进程名称(命令名/命令行)
1:PR为进程的实时优先级(跟内核有关),范围0-99,数字越小优先级越低;
nice值的范围为 -20-19 ,这个值越小,那么对应的进程优先级越高
在top里,PR-NI 永远等于20, 默认启动一个进程,nice是0;
判断进程优先级时:先看PR 再看nice值
2:S进程状态:D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程。
7:运维注意点
在日常的运维中关注的较多的项是 :%CPU, %MEM, COMMAND 这三个,需要多注意。
在top状态下,按键盘数字“1”,可监控每个逻辑CPU的状况:
在 top 状态下,按 “shift + m”, 可以按照内存使用大小排序
8:其他top命令
先 Ctrl+c 退出 top 使用以下命令重新进入
top -bn1 一次性全部把所有信息输出出来而非动态显示
top -c 最右侧的命令可以显示更详细的信息
网友评论