详解top命令

top命令在linux中很常用,是查看系统运行状况的有利工具。

top命令揭示的系统运行状况有很多方面,了解其中的含义对问题的排查是很有帮助的




第一行:总体运行概况
10:40:38 --- 当前时间
up 108 days,20:25 --- 服务器运行时间
1 user --- 当前登录用户数
load average:0.06,0.01,0.00 --- 系统平均负载(任务队列平均长度),1分钟、5分钟、15分钟到现在的平均负载


第二行:进程概况
520 total --- 总进程数
1 running --- 正在运行的进程数
519 sleeping --- 正在休眠的进程数
0 stopped --- 停止的进程数
0 zombie --- 僵尸进程数


第三行:cpu概况
0.1%us --- 用户进程cpu时间
0.2%sy --- 系统进程cpu时间
2.3%ni --- 改变过优先级的进程的cpu时间
97.3%id --- 空闲cpu时间
0.0%wa --- 等待输入输出cpu时间
0.0%hi --- 硬件中断cpu时间
0.0%si --- 软件中断cpu时间
0.0%st --- ???


第四行:内存概况
7680000k total --- 总内存
7661668k used --- 已使用内存
18332k free --- 空闲内存
345776k buffers --- 用作内核缓存的内存量


第五行:swap概况
2096472k total --- 交换空间大小
88k used --- 交换空间使用量
2096384k free --- 未使用的交换空间
2527768k cached --- 被内存缓冲的交换空间


第六行:列名
PID:进程id号
USER:运行进程的用户
PR:进程的优先级
NI:进程的nice值;负值,代表更高优先级;正值,代表更低优先级;0,代表优先级没有改变过
VIRT:进程使用的虚拟内存大小
RES:进程使用的非交换的物理内存大小
SHR:被进程使用的共享内存的大小
S:进程状态,D(不能中断的sleep),R(运行中),S(休眠中),T(traced or stopped),Z(僵尸进程)
%CPU:进程使用CPU的百分比,是所有cpu核所用百分比的加和,可能会超过100%
%MEM:进程使用的物理内存百分比
TIME+:进程使用的CPU时间,1/100秒
COMMAND:进程命令


需要关注的值:
(1)load average:此值反映了任务队列的平均长度;如果此值超过了CPU数量,则表示当前CPU数量不足以处理任务,负载过高
(2)%us:用户CPU时间百分比;如果此值过高,可能是代码中存在死循环、或是频繁GC等
(3)%sy:系统CPU时间百分比;如果此值过高,可能是系统线程竞争激烈,上下文切换过多,应当减少线程数
(4)%wa:等待输入、输出CPU时间百分比;如果此值过高,说明系统IO速度过慢,CPU大部分时间都在等待IO完成
(5)%hi:硬件中断CPU百分比;当硬件中断发生时,CPU会优先去处理硬件中断;比如,网卡接收数据会产生硬件中断
(6)swap used:被使用的swap;此值过高代表系统因为内存不足在进行频繁的换入、换出操作,这样会影响效率,应增大内存量
(7)%CPU:进程使用CPU的百分比;此值高表示CPU在进行无阻塞运算等


常用选项:
-H:以线程方式显示
-b:以批处理方式显示
-c:显示命令行或程序名
-d:更新间隔
-n:迭代次数
-p:监视某些pid的进程
当命令行启动后,可以使用某些快捷命令
(1)H:以线程方式显示
(2)h:帮助
(3)c:显示命令行或程序名
(4)q:退出
(5)f:添加或移除域
(6)o:改变域显示
(7)F or O:选择排序域
(6)R:反序

更多命令:

你可能感兴趣的:(Linux&Unix,任务,command,user,服务器,linux,io)