天天看点

top2

1)命令及参数基本用法:

<code>top</code> <code>-hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...]</code>

<code>d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。</code>

<code>p 通过指定监控进程ID来仅仅监控某个进程的状态。</code>

<code>q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。</code>

<code>S 指定累计模式。</code>

<code>s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。</code>

<code>i 使top不显示任何闲置或者僵死进程。</code>

<code>c 显示整个命令行而不只是显示命令名。</code>

<code>-n :与 -b 搭配,意义是,需要进行几次 top 的输出结果。</code>

<code>-p :指定某些个 PID 来进行观察监测而已。</code>

<code>在 top 执行过程当中可以使用的按键指令:</code>

<code>? :显示在 top 当中可以输入的按键指令;</code>

<code>P :以 CPU 的使用资源排序显示;</code>

<code>M :以 Memory 的使用资源排序显示;</code>

<code>N :以 PID 来排序喔!</code>

<code>T :由该 Process 使用的 CPU 时间累积 (TIME+) 排序。</code>

<code>k :给予某个 PID 一个讯号 (signal)</code>

<code>r :给予某个 PID 重新制订一个 nice 值。</code>

1)top命令执行结果如图所示

2)top命令执行结果重要列的含义详解

top命令结果各列的含义如下:

<code>列名    含义</code>

<code>PID    进程id</code>

<code>PPID    父进程id</code>

<code>RUSER    Realusername</code>

<code>UID    进程所有者的用户id</code>

<code>USER    进程所有者的用户名</code>

<code>GROUP    进程所有者的组名</code>

<code>TTY    启动进程的终端名。不是从终端启动的进程则显示为?</code>

<code>PR       优先级</code>

<code>NInice     值。负值表示高优先级,正值表示低优先级</code>

<code>P        最后使用的CPU,仅在多CPU环境下有意义</code>

<code>%CPU    上次更新到现在的CPU时间占用百分比</code>

<code>TIME    进程使用的CPU时间总计,单位秒</code>

<code>TIME+    进程使用的CPU时间总计,单位1/100秒</code>

<code>%MEM    进程使用的物理内存百分比</code>

<code>VIRT    进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES</code>

<code>SWAP    进程使用的虚拟内存中,被换出的大小,单位kb。</code>

<code>RES    进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA</code>

<code>CODE    可执行代码占用的物理内存大小,单位kb</code>

<code>DATA    可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb</code>

<code>SHR    共享内存大小,单位kb</code>

<code>nFLT    页面错误次数</code>

<code>nDRT    最后一次写入到现在,被修改过的页面数。</code>

<code>S    进程状态。</code>

<code>D=    不可中断的睡眠状态</code>

<code>R=    运行</code>

<code>S=    睡眠</code>

<code>T=    跟踪/停止</code>

<code>Z=    僵尸进程</code>

<code>COMMAND    命令名/命令行</code>

<code>WCHAN    若该进程在睡眠,则显示睡眠中的系统函数名</code>

3)top命令执行结果按照某一列排序

更改显示内容

按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序。而大写的 R 键可以将当前的排序倒转。

<code>[root@linux ~]# top -d 2</code>

<code>top - 18:30:36 up 30 days, 7 min, 1 user, load average: 0.42, 0.48, 0.45</code>

<code>Tasks: 163 total, 1 running, 161 sleeping, 1 stopped, 0 zombie</code>

<code>Cpu(s): 4.7% us, 4.0% sy, 6.3% ni, 82.5% id, 0.4% wa, 0.1% hi, 2.0% si</code>

<code>Mem: 1033592k total, 955252k used, 78340k free, 208648k buffers</code>

<code>Swap: 1052216k total, 728k used, 1051488k free, 360248k cached</code>

<code>&lt;==如果加入 k 或 r 时,就会有相关的字样出现在这里</code>

<code> </code> 

<code>PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND</code>

<code>3981 apache 34 19 84012 11m 7352 S 17.3 1.2 0:00.09 httpd</code>

<code>1454 mysql 16 0 289m 40m 2228 S 3.8 4.0 115:01.32 mysqld</code>

<code>3985 dmtsai 15 0 2148 904 668 R 3.8 0.1 0:00.03 top</code>

<code>1 root 16 0 3552 552 472 S 0.0 0.1 0:08.90 init</code>

<code>2 root RT 0 0 0 0 S 0.0 0.0 0:52.76 migration/0</code>

<code>3 root 34 19 0 0 0 S 0.0 0.0 0:03.01 ksoftirqd/0</code>

<code>[root@linux ~]</code><code># top -b -n 2 &gt; /tmp/top.txt</code>

<code>[root@linux ~]# top -d 2 -p 9999</code>

<code>top - 13:53:00 up 51 days, 2:27, 1 user, load average: 0.00, 0.00, 0.00</code>

<code>Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie</code>

<code>Cpu(s): 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si</code>

<code>Mem: 385676k total, 371760k used, 13916k free, 131164k buffers</code>

<code>Swap: 1020116k total, 880k used, 1019236k free, 95772k cached</code>

<code>9999 root 16 0 5396 1544 1244 S 0.0 0.4 0:00.07 bash</code>

<code>top</code> <code>-H</code>

加上这个选项启动top,top一行显示一个线程。否则,它一行显示一个进程。

<code>top</code> <code>-H -p 2308</code>

示例5: top命令执行结果之后按数字键1显示各个CPU的核心命令

Linux下top命令中%CPU结果为什么比%us的结果高?

在Linux下怎样让top命令启动之后就按内存使用排序?

本文转自 Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1982721