linux基本监控 -top

来源:互联网 发布:linux 注释多行 编辑:程序博客网 时间:2024/05/01 11:59
top,性能分析工具,能够实时显示系统中各个进程的资源占用状况


top的操作指令
q : 退出top命令
<Space>:立即刷新
s : 设置刷新时间间隔
c : 显示命令完全模式
t : 显示或隐藏进程和CPU状态信息
m : 显示或隐藏内存状态信息
l : 显示或隐藏uptime信息
f : 增加或减少进程显示标志
S : 累计模式,会把已完成或退出的子进程占用的CPU时间累计到父进程的MITE+
P : 按%CPU使用率排行
T : 按MITE+排行
M : 按%MEM排行
u : 指定显示用户进程
r : 修改进程renice值
kkill:进程
i : 只显示正在运行的进程
W : 保存对top的设置到文件~/.toprc,下次启动将自动调用toprc文件的设置。
h : 帮助命令。



格式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
参数:
d : 指定每两次屏幕信息刷新之间的时间间隔,可以使用s交互命令来改变
p : 可以指定监控进程ID来仅监控某个进程的状态。
q : 没有任何延迟的显示速度,如果使用者有superuser权限,则top将会以最高的优先序执行
c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程(dead child process)的CPU time累积起来
S : 指定累计模式
s : 安全模式,将交互式指令取消, 避免潜在的危机
i : 不显示任何闲置 (idle) 或僵死 (zombie) 的行程
n : 更新的次数,完成后将会退出 top
b : 批次档模式,搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内


看多顆 CPU 使用狀況:
top进入后按1, 
持续监控某PID的CPU/Ram使用量
比如 PID 1111
top -p 1111 # 或 watch "ps aux | grep 1111"



示例:
[root@localhost data]# top
top 13:04:37 up 1 day, 19 min,  2 users,  load average: 0.12, 0.03, 0.01
Tasks: 125 total,   1 running, 123 sleeping,   0 stopped,   1 zombie
Cpu(s):  0.0%us,  0.2%sy,  0.1%ni, 99.3%id,  0.1%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:    767180k total,   717020k used,    50160k free,    51576k buffers
Swap:  1540088k total,      148k used,  1539940k free,   395068k cached


  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                           
    1 root      15   0 10348  688  576 S  0.0  0.1   0:00.78 init                                                                                                                                              
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:02.40 migration/0                                                                                                                                       
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0 


第一行显示的内容和uptime命令一样
top :  没有意义,只是个名称
13:04:37 :系统当前时间
up 1 day, 19 min :系统开机到现在的时间
2 users : 当前2用户在线
load average: 0.12, 0.03, 0.01 :系统1分钟、5分钟、15分钟的CPU负载
第二行
Tasks:任务
125 total:当前有128个进程。
1 running:1个进程正在运行
123 sleeping:37个进程睡眠
0 stopped:停止的进程数
1 zombie:僵死的进程数
第三行
Cpu(s):表示CPU总体信息
0.0%us:用户态进程占用CPU时间百分比,不包含renice值为负的任务占用的CPU的时间。
0.2%sy:内核占用CPU时间百分比
0.1%ni:renice值为负的任务的用户态进程的CPU时间百分比。nice是优先级的意思
99.3%id:空闲CPU时间百分比
0.1%wa:等待I/O的CPU时间百分比
0.0%hi:CPU硬中断时间百分比
0.2%si:CPU软中断时间百分比
0.0%st:我不知道
第四行
Men:内存
256412k total:物理内存总量
30156k used: 使用的物理内存量
226256 free: 空闲的物理内存量
8176k buffers:用作内核缓存的物理内存量
第五行
Swap:交换空间
337356k total:交换区总量
0k used: 使用的交换区量
337356k free: 空闲的交换区量
12160k cached:缓冲交换区总量
第六行及以下
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称


列名 含义
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=僵尸进程
COMMAND 命令名/命令行
WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
Flags 任务标志,参考 sched.h


原创粉丝点击