top常用参数如下:
-d :后面可以接秒数,就是整个程序画面更新的秒数。预设是 5 秒;
-b :以批次的方式执行 top ,还有更多的参数可以使用喔!
通常会搭配数据流重导向来将批次的结果输出成为档案。
-n :与 -b 搭配,意义是,需要进行几次 top 的输出结果。
-p :指定某些个 PID 来进行观察监测而已。
在 top 执行过程当中可以使用的按键指令:
? :显示在 top 当中可以输入的按键指令;
P :以 CPU 的使用资源排序显示;--%CPU
M :以 Memory 的使用资源排序显示;--%MEM
N :以 PID 来排序--从大到小
T :由该 Process 使用的 CPU 时间累积 (TIME+) 排序。
k :给予某个 PID 一个讯号 (signal)
r :给予某个 PID 重新制订一个 nice 值。
常用命令组合:
[oracle@bys3 ~]$ top -d 2 ---两秒刷新一次
[oracle@bys3 ~]$ top -bn 1 >abc.log ---将输出写入到指定文件
[oracle@bys3 ~]$ top -d 2 -p 2955 ---只输出指定进程的信息
top - 23:57:41 up 6:03, 4 users, load average: 0.02, 0.02, 0.00
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.5%us, 16.4%sy, 0.0%ni, 83.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1026688k total, 918396k used, 108292k free, 38260k buffers
Swap: 4249144k total, 0k used, 4249144k free, 627300k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2955 oracle -2 0 365m 13m 12m S 13.0 1.4 44:39.75 oracle
实用----使用top命令后,还可以输入 P M N T等对输出信息进去排序--注意是大写。?号可以调出帮助。
TOP命令输出信息的解读:
top 可以持续的监测整个系统的程序工作状态,默认每5秒刷新一次。
输出分为上下两个部分:上部6行:系统概况。下部:每个process使用的资源情况,
默认只使用top命令时此部分输出的process行数不是固定的,按窗口大小来显示的,窗口越大显示越多。
如果使用top -bn 1这样,只输出一次结果,则会将所有进程信息都输出--此时可以将输出重定向到文件文件查看。
示例:
[oracle@bys3 ~]$ top -bn 1
top - 23:30:46 up 5:36, 4 users, load average: 0.00, 0.00, 0.00
Tasks: 138 total, 1 running, 137 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.0%us, 19.2%sy, 0.3%ni, 76.1%id, 3.3%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 1026688k total, 933452k used, 93236k free, 35964k buffers
Swap: 4249144k total, 0k used, 4249144k free, 638360k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2955 oracle -2 0 365m 13m 12m S 11.7 1.4 41:13.71 oracle
1 root 20 0 2160 572 484 S 0.0 0.1 0:02.76 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
以下输出省略。
上部分--前五行:
第一行:
top - 23:30:46 up 5:36, 4 users, load average: 0.00, 0.00, 0.00
和uptime输出一样
[oracle@bys3 ~]$ uptime
23:36:07 up 5:41, 4 users, load average: 0.00, 0.00, 0.00
系统的当前时间,系统启动时间,当前登陆的用户数,1、5、10分钟的CPU负载情况-一般不过1
第二行:
Tasks: 138 total, 1 running, 137 sleeping, 0 stopped, 0 zombie
更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/Linux/
当前总进程数量,正在运行的,睡眠中的,停止的,zombie僵尸进程数-非0要注意查看
第三行:
Cpu(s): 1.0%us, 19.2%sy, 0.3%ni, 76.1%id, 3.3%wa, 0.0%hi, 0.1%si, 0.0%st
用户进程占用的CPU比例,内核战胜CPU比例,改变过优先级的用户进程占用CPU百分比,空闲CPU百分比,
等待输入输出的CPU时间百分比
第四行:
Mem: 1026688k total, 933452k used, 93236k free, 35964k buffers
物理内存总量-有单位K,已经使用的,空闲的,内核缓冲的内在量
第五行:
Swap: 4249144k total, 0k used, 4249144k free, 638360k cached
SWAP空间总大小-单位K,已经使用的,空闲的,缓冲的交换区总量--使用过又未被覆盖的SWAP
###############################################
第二部分:各进程详细信息--进程各列的具体含义
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2955 oracle -2 0 365m 13m 12m S 11.7 1.4 41:13.71 oracle
进程信息各列的具体含义:
PID 进程ID,
USER 进程所有者名,
PR Priority 的简写,程序的优先执行顺序,越小越早被执行
NI NICE值-负高优先,
VIRT 使用虚拟内存总量;
RES 进程使用的、未被换出的物理内存大小
SHR 共享内存大小。
S 进程状态-R运行-S睡眠-T跟踪/停止-Z僵尸-D不可中断的睡眠状态
%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计,单位1/100秒-毫秒
COMMAND 命令名/命令行