天天看点

022、Linux下性能监测工具top详解

 对Linux系统管理员而言,监控系统是很重要的工作。Linux系统监控工具有很多,top是最常用的一个,可以动态观察系统进程状况,方便系统管理员实时了解系统资源现状。本文对top工具的各个参数进行了深入的介绍。

top作为日常管理工作中最常用也是最重要的Linux系统监控工具之一,可以动态观察系统进程状况,方便系统管理员实时了解系统资源现状。

top 界面分为两个部份,光标上面部份显示关于系统整体性能,光标下面部份显示各进程信息。光标所在处是用来输入操作命令的。

Linux top命令界面

第一行显示的内容和uptime命令一样,【l】可以显示和隐藏这个区域:

top:   这个没有什么意思,只是个名称而以

01:47:56 :     系统当前时间

up 1:26   :   系统开机到现在经过了多少时间

2 users  :            当前2用户在线

load average:0.00,0.00,0.00:        系统1分钟、5分钟、15分钟的CPU负载信息

第二行:

Tasks:英文意思是工作;任务;差事。

38 total:很好理解,就是当前有38个任务,也就是38个进程。

1 running:1个进程正在运行

37 sleeping:37个进程睡眠

0 stopped:停止的进程数

0 zombie:僵死的进程数

Cpu(s):表示这一行显示CPU总体信息

0.0%us:用户态进程占用CPU时间百分比,不包含renice值为负的任务占用的CPU的时间。

0.7%sy:内核占用CPU时间百分比

0.0%ni:renice值为负的任务的用户态进程的CPU时间百分比。nice是优先级的意思

99.3%id:空闲CPU时间百分比

0.0%wa:等待I/O的CPU时间百分比

0.0%hi:CPU硬中断时间百分比

0.0%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:进程启动命令名称

一、相关设定默认值

全局 

摘要区

任务区域 

注:*标示的设定,可以在启动top时,使用命令行参数覆盖指定参数值。

二、命令行启动参数:

用法: top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...]

-b : 批次模式运行。通常用作来将top的输出的结果传送给其他程式或储存成文件。

-c : 显示执行任务的命令行。

-d : 设定延迟时间

-h : 帮助

-H : 显示线程。当这个设定开启时,将显示所有进程产生的线程。

-i : 显示空闲的进程。

-n : 执行次数。一般与-b搭配使用

-u : 监控指定用户相关进程

-U : 监控指定用户相关进程

-p : 监控指定的进程。当监控多个进程时,进程ID以逗号分隔。这个选项只能在命令行下使用。

-s : 安全模式操作

-S : 累计时间模式

-v : 显示top版本,然后退出。

-M : 自动显示内存单位(k/M/G)

三、栏位信息

在top中,分别使用26个英文字母对应进程相关信息栏位。可已通过f来添加或移除指定的栏位,通过o来调整对栏位显示顺序。下面我们针对这些栏位进行说明。

a: PID (Process Id):任务的进程ID

b: PPID (Parent Process Pid):父任务的进程ID

c: RUSER (Real User Name):任务的所有者真实名称

d: UID (User Id):任务所有者ID

e: USER (User Name):任务所有者名称

f: GROUP (Group Name):任务所有者群组名

g: TTY (Controlling Tty):终端

h: PR (Priority):优先级

i: NI (Nice value):Nice值

j: P (Last used CPU (SMP)):

k: %CPU (CPU usage):CPU使用率

l: TIME (CPU Time):CPU时间

m: TIME+ (CPU Time, hundredths):CPU时间,精确到秒

n: %MEM (Memory usage (RES)):内存使用率

o: VIRT (Virtual Image (kb)):虚拟内存。VIRT = SWAP + RES

p: SWAP (Swapped size (kb)):交换空间

q: RES (Resident size (kb)):常驻内存。RES = CODE + DATA

r: CODE (Code size (kb)):

s: DATA (Data+Stack size (kb)):

t: SHR (Shared Mem size (kb)):共享内存。

u: nFLT (Page Fault count):

v: nDRT (Dirty Pages count):

w: S (Process Status):进程状态

分别有以下几种:

D = uninterruptible sleep = 不可被唤醒睡眠

R = running = 正在运行中

S = sleeping = 睡眠状态

T = traced or stopped = 出错或停止状态

Z = zombie = 僵尸状态

x: Command (Command line or Program name):进程名或命令行

y: WCHAN (Sleeping in Function):

z: Flags (Task Flags):

示例1:增加和移除进程信息栏位(输入f)

022、Linux下性能监测工具top详解

示例2:调整进程信息栏位显示顺序(输入o)

022、Linux下性能监测工具top详解

四、交互命令

1.全局命令

回车、空格 : 刷新显示信息

?、h : 帮助

= : 移除所有任务显示的限制

A : 交替显示模式切换

B : 粗体显示切换

d、s : 更改界面刷新时间间隔

G : 选择其它窗口/栏位组

I : Irix或Solaris模式切换

u、U : 监控指定用户相关进程

k : 结束进程

q : 退出top

r : 重新设定进程的nice值

W : 存储当前设定

Z : 改变颜色模板

2.摘要区命令

l : 平均负载及系统运行时间显示开关

m : 内存及交换空间使用率显示开关

t : 当前任务及CPU状态显示开关

1 : 汇总显示CPU状态或分开显示每个CPU状态    

3.任务区命令

外观样式

b : 黑体/反色显示高亮的行/列。控制x和y交互命令的顯示樣式。

x : 高亮显示排序的列

y : 高亮显示正在运行的任务

z : 彩色/黑白显示。

显示内容

c : 任务执行的命令行或进程名称

f、o : 增加和移除进程信息栏位及调整进程信息栏位显示顺序

H : 显示线程

S : 时间累计模式

u : 监控指定用户相关进程

任务显示的数量

i : 显示空闲的进程

n或# : 设置任务显示最大数量

任务排序

M : 按内存使用率排序

N : 按PID排序

P : 按CPU使用率排序

T : 按Time+排序

< : 按当前排序栏位左边相邻栏位排序

继续阅读