Linux top命令手册
来源:互联网 发布:mac山狮系统 编辑:程序博客网 时间:2024/05/08 11:33
一直在网上查找一个完整的、详细的介绍关于Linux top命令的文章,但一直都未能如愿,于是自己动手根据top命令的man手册来写出这篇文章。事实上,关于Linux命令的介绍,大多数情况下都能通过man手册得知,无奈英文没学好,看着吃力。
Linuxtop是最常用的命令之一,它是一个动态的、实时的监控系统资源与系统运行任务的程序,做为Linux系统管理员,必须知道它的用法与含义。
1 工作界面
首先,看一下它的工作界面,如图:
它的工作界面共分为4个部分,从上到下如图所示;分别是:
n 摘要区
n 交互命令区
n 任务字段头部(或者说叫标签吧)
n 任务区
那么他们分别表示什么含义呢?下面我们来详细介绍各个区域。
1.1 摘要区
摘要区有当前的系统的总览信息,包括系统时间、系统负载、CPU使用信息、内存使用信息等。用个表格说明下吧:
11:51:35
当前系统时间
up 307 days, 18:33
系统运行时间,表示不间断运行多久了
3 users
当前登录的用户数
load average: 0.38, 0.56, 0.55
系统负载,分别表示一分钟、五分钟、十五分钟到现在的平均值
Tasks: 892 total
总进程数
1 running
正在运行的进程数
885 sleeping
处于睡眠状态的进程数
0 stopped
已中止的进程数
6 zombie
僵尸进程
Cpu(s): 0.1%us
us = user mode,用户空间占用CPU百分比
0.1%sy
sy = system mode,系统空间占用CPU百分比
0.0%ni
ni = low priority user mode (nice),用户进程空间内改变过优先级的进程占用CPU百分比
99.7%id
id = idle task,空闲CPU百分比
0.1%wa
wa = I/O waiting,系统I/0等待输入输出的CPU时间百分比
0.0%hi
hi = servicing IRQs
0.0%si
si = servicing soft IRQs
0.0%st
st = steal (time given to other DomU instances)
Mem: 32949816k total
内存总量
32721576k used
已经使用的物理内存总量
228240k free
空闲内存总量
204096k buffers
用于内核缓存的内存量
Swap: 8193140k total
交换空间总量
913800k used
交换空间使用量
7279340k free
交换空间空闲总量
19427576k cached
交换空间缓冲总量。内存中的内容被换出到交换空间,而后又被换入到内存,但使用过的交换空间尚未被覆盖, 该数值即为这些内容已存在于内存中的交换空间的大小。相应的内存再次被换出时可不必再对交换空间写入。
1.2 交互命令区
顾名思义,就是你输入命令跟top程序打交道的。不同的命令作用于不同的区域,分别有以下命令:
Ø 全局命令
Ø 摘要区命令
Ø 任务区命令
Ø 颜色地图命令
这里只说明下交互命令区的作用块,后续介绍相关区域各个命令的详细用法及说明。
1.3 任务字段头部
每个任务都有相关的字段用于标识这个任务的具体意义,默认情况下仅显示PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAN 这些字段,但任务不仅仅只有这些字段供查看。以下表格列出了所有的字段含义:
字段名
含义
PID
进程ID
PPID
父进程ID
RUSER
Realusername
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
至于如何显示以及调整相关的字段就涉及到交互命令了,具体的命令在后续的文档中详细描述。
1.4 任务区
任务区就是显示系统当前运行的任务(或者说进程吧),每个进程都有如上所述的各个字段的具体情况。
2 选项
usage: top -hv | -abcHimMsS -d delay -n iterations [-u user | -U user] -p pid[,pid ...]
-a
根据内存使用量排序
-b
批处理模式,可以将结果发送了其他程序或者一个文件中,在此模式不接收命令输入
-c
显示命令行或程序名,等同于交互命令c
-d
指定延迟刷新时间间隔
-h
显示版本和程序用法
-H
显示用户空间进程
-i
空闲进程开关,如果被关闭,将不显示空闲进程以及僵尸进程
-m
作用于任务字段标签区,在任务字段头部区用USED字段代替VIRT字段
-M
作用于摘要区,内存使用量那一行用(k,M,G)等单位显示内存量
-n
刷新迭代次数,通常与 –b 选项一起用
-p
监视指定的PID进程情况,显示多个PID 用逗号分隔
-s
强制使用安全模式,这个选项能更好的控制系统配置文件
-S
显示CPU使用的累计时间
-u,-U
监视指定的用户进程
-v
显示版本和用法
3 交互命令
3.1 全局命令
全局命令,作用于整个top命令工作前台,如表格所示:
?
显示帮助
=
实时刷新
A
这个命令真不知道咋解释,它能作用于任务字段头部
B
高亮显示
d
改变刷新时间,将提示你输入延迟时间,单位秒
s
与d相同
G
显示其他列,默认不是有很多列么?一屏幕显示不全
I
Irix mode
u,U
提示输入一个用户名,仅显示输入的用户的任务
k
提示输入一个PID,杀掉一个进程
q
退出top
r
提示输入一个PID进程号,以调整此PID进程的nice值
W
将当前的改变写入到配置文件
Z
改变窗口的颜色
区域选择:
S = 摘要区
M = 交互命令区
H = 任务字段头部区域
T = 任务区域
可选颜色:
0 = 黑色,
1 = 红色,
2 = 绿色,
3 = 黄色,
4 = 蓝色,
5 = 洋红色,
6 = 蓝绿色,
7 = 白色
回车键确认
3.2 摘要区命令
l
关闭或显示(摘要区第一行)系统运行时间、登录用户、负载等信息
m
关闭或显示摘要区(第四、四五行)内存相关信息
t
关闭或显示摘要区(第二、第三行)任务以及CPU等信息
1
关闭或显示多核CPU信息
3.3 任务区命令
b
激活高亮显示任务区,一般与x,y命令合用
x
当任务区高亮显示开关激活,此命令高亮显示列
y
当任务区高亮显示开关激活,此命令高亮显示行
z
颜色显示开关
c
显示程序名或者命令行
f
增加或减少任务字段头部
o
调整任务字段头部的顺序
H
显示用户空间进程
S
同选项S
u
同全局命令u
i
仅显示正在运行的任务
n
设置最大任务数
排序相关命令
A
同全局命令A
M
按内存使用量排序
P
按CPU使用率排序
T
按CPU使用时间排序
<
向左移动
>
向右移动
F,O
提示选择某列进行排序
R
倒序排列
3.4 颜色相关命令
查看全局命令中的Z命令。
4 配置
用户家目录的 .toprc文件,亦可创建于/etc/toprc 文件。
- Linux top命令手册
- Linux命令学习手册-top命令
- Linux命令学习手册-top命令
- top命令英文帮助手册
- linux命令---top命令
- linux命令:top命令
- ps命令和top命令中文手册
- linux top命令详解
- LINUX top命令
- linux top 命令
- 关于Linux top 命令
- linux top命令温习
- linux top命令详解
- linux top命令详解
- Linux top 命令详解
- linux top命令详解
- Linux top 命令 详解
- linux top命令详解
- 重启nginx后丢失nginx.pid,如何重新启动nginx
- chihuo876 APP问题总结
- XMemcached使用 .
- oracle 用户解锁
- Java高新技术之枚举
- Linux top命令手册
- poj 3041 网络流做法 sap+gap
- Java高新技术之反射
- Windows CE设备:矩阵键盘开发
- 渊子赛马 tzc
- uibutton响应传参数
- MATLAB中mexFunction函数的接口规范
- Java高新技术之内省与JavaBean
- 2003 cant connect to MySQL server on 'localhost'(10061)