Windows 微软 apache php linux命令 开源 Python 程序员 Firefox linux Android centos wordpress mysql google nginx HTML5 Ubuntu java shell

TOP命令详解和应用

top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止. 比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间 对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。

看一下命令输出信息总览:

top - 09:44:56 up 16 days, 21:23, 1 user, load average: 9.59, 4.75, 1.92
Tasks: 145 total, 2 running, 143 sleeping, 0 stopped, 0 zombie
Cpu(s): 99.8%us, 0.1%sy, 0.0%ni, 0.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4147888k total, 2493092k used, 1654796k free, 158188k buffers
Swap: 5144568k total, 56k used, 5144512k free, 2013180k cached

 PID USER      pr  NI  VIRT  RES  SHR S %CPU %MEM    timecommand

先对命令输出信息详细解释一下:

top - 09:44:56[当前系统时间],
16 days[系统已经运行了16天],
1 user[个用户当前登录],
load average: 9.59, 4.75, 1.92[系统负载,即任务队列的平均长度]
Tasks: 145 total[总进程数],
2 running[正在运行的进程数],
143 sleeping[睡眠的进程数],
0 stopped[停止的进程数],
0 zombie[冻结进程数],
Cpu(s): 99.8%us[用户空间占用CPU百分比],
0.1%sy[内核空间占用CPU百分比],
0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比],
0.2%id[空闲CPU百分比], 0.0%wa[等待输入输出的CPU时间百分比],
0.0%hi[],
0.0%st[],
Mem: 4147888k total[物理内存总量],
2493092k used[使用的物理内存总量],
1654796k free[空闲内存总量],
158188k buffers[用作内核缓存的内存量]
Swap: 5144568k total[交换区总量],
56k used[使用的交换区总量],
5144512k free[空闲交换区总量],
2013180k cached[缓冲的交换区总量],

PID   进程id
PPID    父进程id
RUSER    Real user name
UID   进程所有者的用户id
USER   进程所有者的用户名
GROUP   进程所有者的组名
TTY   启动进程的终端名。不是从终端启动的进程则显示为 ?
PR   优先级
NI   nice值。负值表示高优先级,正值表示低优先级
P   最后使用的CPU,仅在多CPU环境下有意义
%CPU   上次更新到现在的CPU时间占用百分比
TIME   进程使用的CPU时间总计,单位秒
TIME+   进程使用的CPU时间总计,单位1/100秒
%MEM   进程使用的物理内存百分比
VIRT   进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
SWAP   进程使用的虚拟内存中,被换出的大小,单位kb。
RES   进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
CODE   可执行代码占用的物理内存大小,单位kb
DATA   可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
SHR   共享内存大小,单位kb
nFLT   页面错误次数
nDRT   最后一次写入到现在,被修改过的页面数。

S   进程状态:
D=不可中断的睡眠状态
R=运行
S=睡眠
T=跟踪/停止
Z=僵尸进程
x COMMAND 命令名/命令行
y WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
z Flags 任务标志

top常用的交互命令:

Shift+n 按PID排序
Shift+p 按CPU排序
Shift+m 按内存使用排序
Shift+t 按CPU用时排序

几条示例:

[root@vps ~]# top -d 5 更新延时设置为5秒(默认3秒)
[root@vps ~]# top -u mysql 只查看有效用户名为mysql的进程
[root@vps ~]# top -p 200,2000 只查看进程200和2000
[root@vps ~]# top -n 8 退出前屏幕再刷新10次
[root@vps ~]# top -b 以非交互和非全屏模式运行
[root@vps ~]# top -b -n 12000 > plog 运行top并记录命令输出,时长10小时,保存到plog文件

延伸阅读

  • 抱歉,暂无相关内容!

评论

  1. Pingback: 荷兰网