linux top命令详解

linux top命令详解
图片

前五行是系统整体的统计信息。
第一行是任务队列信息,同 uptime 命令的执行结果。
07:35:36 当前时间
up 2 days,21:01 系统运行时间,格式为日 时:分
2 user 当前登录用户数
load average: 0.53, 0.64, 5.66 系统负载,即任务队列的平均长度。
三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。
Tasks: 199 total 进程总数
3 running 正在运行的进程数
196 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数
Cpu(s): 59.6% us 用户空间占用CPU百分比
3.5% sy 内核空间占用CPU百分比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
70.3% id 空闲CPU百分比
0.2% wa 等待输入输出的CPU时间百分比
0.0% hi
0.1% si
最后两行为内存信息。
想必大家都已经熟悉什么意思了,这里我就不再啰嗦了 。

统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。

序号 列名                含义
1       PID                  进程id
2
    RUSER            Real user name
3
     PR                      优先级
4       NI                      nice值。负值表示高优先级,正值表示低优先级
5      VIRT                  进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
6      RES                     进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
7      SHR                     共享内存大小,单位kb
8    
S 进程状态。
               D=不可中断的睡眠状态
               R= 运行
               S=睡眠
               T=跟踪/停止
               Z= 僵尸进程
9     %CPU                 上次更新到现在的CPU时间占用百分比
10     %MEM               进程使用的物理内存百分比
11
    TIME+              进程使用的CPU时间总计,单位1/100秒
   COMMAND         命令名/命令行
默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。

命令使用详解:

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

2.用法
2.1使用格式
top [-] [d][u][p][n][b][q]

1[/c

[S][s][i]

2.2参数说明
d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
u 只查看指定用户名的进程
p 通过指定监控进程ID来仅仅监控某个进程的状态
n 设置退出前屏幕刷新的次数
btop输出编排成适合输出到文件的格式,可以使用这个选项创建进程日志
q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行
c 显示整个命令行而不只是显示命令名
S 指定累计模式
s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i 使top不显示任何闲置或者僵死进程。

2.3 交互命令说明
下面介绍下在top命令执行过程中可以使用的一些交互命令。从使用角度来看,熟练的掌握这些命令比掌握选项还重要一些。这些命令都是单字母的,如果在命令行选项中使用了s选项,则可能其中一些命令会被屏蔽掉。
Shift+n    按PID排序
Shift+p    按CPU排序
Shift+m    按内存使用排序
Shift+t    按CPU用时排序
2.4 示例
[root@lidongyuan ~]# top -b -c  -n 1  -u httpd_user |wc -l
[root@lidongyuan ~]# top -d 5    更新延时设置为5秒(默认3秒)
[root@lidongyuan ~]# top -u mysql    只查看有效用户名为mysql的进程
[root@lidongyuan ~]# top -p 200,2000    只查看进程200和2000
[root@lidongyuan ~]# top -n 8    退出前屏幕再刷新10次
[root@lidongyuan ~]# top -b    以非交互和非全屏模式运行
[root@lidongyuan ~]# top -b -n12000 > plog 运行top并记录命令输出,时长10小时,保存到plog文件


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章