Linux 命令 --- top
top命令简介
top命令--实时动态地查看系统的整体运行情况,
1. 第一排: 系统运行情况,跟 uptime 命令显示一样 。
uptime会在一行中显示下列信息:当前时间、系统运行了多久时间、当前登录的用户有多少,以及前 1、5 和 15 分钟系统的平均负载。
2. 第二排:进程信息统计,total 进程总数; running 正在运行的进程数; sleeping 睡眠的进程数; stopped 停止的进程数; zombie 僵尸进程数。
3. 第三排:CPU信息统计,0.6%us, 用户占用CPU百分比; 0.9%sy, 内核空间占用CPU百分比; 0.0%ni, 用户进程空间内改变过优先级的进程占用CPU百分比;
98.5%id, 空闲CPU百分比; 0.0%wa, 等待输入输出的CPU时间百分比; 0.0%hi, 硬件CPU中断占用百分比 ;
0.0%si, 软中断占用百分比 ; 0.0%st 虚拟机(虚拟化技术)占用百分比;
4. 第四、五排:内存信息系统统计;
Men:
257940M total: 物理内存总量
236667M used: 使用的物理内存总量
21273M free: 空闲内存总量
2714M buffers: 用作内核缓存的内存量
Swap:
0M total: 交换区总量
0M used: 使用的交换区总量
0M free: 空闲交换区总量
156967M cached:缓冲的交换区总量
内存空间还剩多少空闲呢?
totalfree = free 541676 + buffer 64316 + cached 224884 (即:空闲内存 = 空闲内存总量 + 内核缓存的内存量 + 缓冲的交换区总量)
接着下面的显示每个pid的具体信息:
显示的信息开头通过 f 命令,进入显示信息添加或者删除操作;大写是添加,小写是隐藏;
序号 列名 含义
a PID 进程id
b PPID 父进程id
c RUSER Real user name
d UID 进程所有者的用户id
e USER 进程所有者的用户名
f GROUP 进程所有者的组名
g TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?
h PR 优先级
i NI nice值。负值表示高优先级,正值表示低优先级
j P 最后使用的CPU,仅在多CPU环境下有意义
k %CPU 上次更新到现在的CPU时间占用百分比
l TIME 进程使用的CPU时间总计,单位秒
m TIME+ 进程使用的CPU时间总计,单位1/100秒
n %MEM 进程使用的物理内存百分比
o VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
p SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。
q RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
r CODE 可执行代码占用的物理内存大小,单位kb
s DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
t SHR 共享内存大小,单位kb
u nFLT 页面错误次数
v nDRT 最后一次写入到现在,被修改过的页面数。
w S 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
x COMMAND 命令名/命令行
y WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
z Flags 任务标志,参考 sched.h
==========================================================
2. top命令+选项
进入到动态显示系统性能显示界面之前,top + 一些选项能更好的展示。
【选项】
d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p 通过指定监控进程ID来仅仅监控某个进程的状态。
# q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S 指定累计模式
s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i 使top不显示任何闲置或者僵死进程。
c 显示整个命令行而不只是显示命令名
常用操作
top //每隔5秒显式所有进程的资源占用情况
top -d 2 //每隔2秒显式所有进程的资源占用情况
top -c //每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
top -p 12345 -p 6789//每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况
top -d 2 -c -p 123456 //每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数
3. top命令进入后,交互命令的使用
【注意事项:
Z,B Global: 'Z' change color mappings; 'B' disable/enable bold
'Z'修改颜色配置;'B':关闭/开启粗体
l,t,m Toggle Summaries: 'l' load avg; 't' task/cpu stats; 'm' mem info
关闭或打开:'l'负载;“t”任务/ cpu统计数据;“m”mem信息
1,I Toggle SMP view: '1' single/separate states; 'I' Irix/Solaris mode
1:单行/多行显示CPU信息;I:Irix/Solaris模式切换
f,o . Fields/Columns: 'f' add or remove; 'o' change display order
f:列显示控制;o:列排序控制,按字母进行调整
F or O . Select sort field
选择排序列
<,> . Move sort field: '<' next col left; '>' next col right
<,> 左右排序移动 配合shift使用
R,H . Toggle: 'R' normal/reverse sort; 'H' show threads
R:内容排序;H:显示线程
c,i,S . Toggle: 'c' cmd name/line; 'i' idle tasks; 'S' cumulative time
c:COMMAND列命令名称与完整命令行路径切换;i:忽略闲置和僵死进程开关;S:累计模式切换
x,y . Toggle highlights: 'x' sort field; 'y' running tasks
x:列排序;y:运行任务
z,b . Toggle: 'z' color/mono; 'b' bold/reverse (only if 'x' or 'y')
z:颜色模式;b:粗体开关 仅适用于x,y模式中
u . Show specific user only
u:按用户进行过滤
n or # . Set maximum tasks displayed
n:设置进程最大显示条数
k,r Manipulate tasks: 'k' kill; 'r' renice
k:终止一个进程;r:重新设置一个进程的优先级别
d or s Set update interval
改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
W Write configuration file
W:将当前设置写入~/.toprc文件中
q Quit
一般操作
多U多核CPU监控