本节内容:
linux系统中top命令的用法。
top 命令 简介
top 命令是最流行的性能监视工具之一。
top命令经常用来监控linux的系统状况,比如cpu、内存的使用。top命令交互界面如下图所示:
top的界面分为两个部分,光标上面部分显示关于系统整体性能,光标下面部分显示各进程信息。
Linux top命令界面
第一行
第一行显示的内容和uptime命令一样,[l]可以显示和隐藏这个区域:
16:48:03 : 系统当前时间
up 7:36 :系统开机到现在经过了多长时间
9 users :当前9个用户在线(who命令查看当前的在线用户数)
load average:0.85, 1.02, 1.00 :系统1分钟、5分钟、15分钟的CPU负载信息
第二行
Tasks:英文意思是工作、任务、差事
249 total:当前有249个任务,也就是有249个进程
1 runing:一个进程正在运行
247 sleeping:247个进程睡眠
0 stopped:停止的进程数
1 zombie:僵死的进程数
第三行
Cpu(s):表示这一行显示CPU的总体信息
8.2%us:用户进程占用cpu的百分比
10.0%sy:内核占用cpu的百分比
0.0%ni:改变过优先级的进程占用cpu的百分比
81.1%id:空闲cpu的百分比
0.0%wa:IO等待占用cpu的百分比
0.0%hi:硬中断占用cpu的百分比
0.0%si:软中断占用cpu的百分比
第四行&&第五行
Mem是内存的意思,Swap是交换空间的意思
total:总量
used:使用量
free:空闲量
buffers:用作内核缓存的物理内存量
cached:缓冲交换区总量
第四行中使用的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是系统内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心
如果出于习惯去计算可用内存数,这里给出一个近似计算公式:
free + buffer + cached
当前我这台机器可用的内存 = 568812 + 127240 + 1992692 = 2.6G
对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了
进程行
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先执行(priority)
NI:nice值。负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES:进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR:共享内存大小,单位为kb
S:进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU:上次更新到现在的CPU时间占用百分比
%MEM:进程使用的物理内存百分比
TIME+:进程使用的CPU时间总计,单位1/100秒
COMMAND:进程名称
Linux top操作指令
q:退出top命令
<Space>:立即刷新
s:设置刷新时间间隔
c:显示命令完全模式
t::显示或隐藏进程和CPU状态信息
m:显示或隐藏内存状态信息
l:显示或隐藏uptime信息
f:增加或减少进程显示标志
S:累计模式,会把已完成或退出的子进程占用的CPU时间累计到父进程的MITE+
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行
u:指定显示用户进程
r:修改进程renice值
kkill:进程
i:只显示正在运行的进程
W:保存对top的设置到文件~/.toprc,下次启动将自动调用toprc文件的设置。
h:帮助命令。