一、top命令的说明
虽然ps命令可以显示有关机器运行情况的很多信息,但是它提供的只是在PS命令被执行时刻机器 状态的一个快照。要查看机器运行情况的动态视图,我们可以使用top命令,如下所示。
top程序将按照进程活动的顺序,以列表的形式持续更新显示系统进程的当前信息(默认每3秒更 新一次)。它主要用于查看系统“最高(top) ”进程的运行情况,其名字也来源于此。
top命令显示的内容包含两个部分,顶部显示的是系统总体状态信息,下面显示的是一张按CPU活动时间排序的进程情况表。
top程序可以接受许多键盘指令,其中最常用的有两个:一个是h,输入后将显示程序的帮助界 面;另一个是q,用来退出top命令。
主流的桌面环境都提供了用来显示类似top命令的输出信息的图形化应用程序(和Windows中任务管理器[Task Manager]的运行方式类似),但是top命令优于图形化版本、这是因为top命令运行得更快,而且消耗的系统资源要少得多。
二、头部信息说明
执行top命令后显示如下所示的头部信息:
top - 14:59:20 up 6:30, 2 users, load average: 0.07, 0.02, 0.00
Tasks: 109 total, 1 running, 106 sleeping. 0 stopped, 2 zombie
Cpu(s): 0.7%us, 1.0%sy, 0.0%ni, 98.3%id, 0.0%wa. 0.0%hi, 0.0%si, 0.0%st
Mem: 319496k total, 314860k used, 4636k free, 19392k buff
Swap: 875500k total, 149128k used, 726372k fi'ee. 114676k each
一共5行。
第一行各项意义:
top:程序名
14:59:20:即时时间
up 6:30:正常运行时间。从启动到现在的时间。这个例子,系统运行了6小时30分。
2 users:两个用户已登录
load average:负载均值,指等待运行的进程数,即共享cpu的处于可运行状态的进程数。显示的三个值分别是前60秒,前5分钟和前15分钟的均值。该值小于1.0表示机器不忙。
第二行意义:
Tasks: 进程数及各进程的状态信息。这个例子中,共109个进程,其中1个在运行,106个休眠,0个停止,2个僵尸进程。
第三行意义:
Cpu(s): CPU使用情况。这个例子中,用户使用0.7%的cpu时间。系统进程占用1.0%,0.0%CPU时间用于nice进程。98.3%的CPU时间闲置。0.0%的CPU时间用于等等I/O操作;0.0%的CPU时间用于硬件中断。0.0%的CPU时间用于软件中断。0.0%的CPU时间用于硬件中断。0.0%的CPU时间为steal time。
Steal time is the percentage of time a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor.
第四行意义:
Mem:显示随机存取内存的使用情况。有总量、已经使用的量、可用量和缓冲区大小。
第五行意义:
Swap:显示交换空间(虚拟内存)的使用情况。
三、进程情况各列的意义
进程情况是一个列表,每行为一个进程。各列意义如下:
1 PID = (Process Id) 进程Id;
2 USER = (User Name) 进程所有者的用户名;
3 PR = (Priority) 优先级
4 NI = (Nice value) nice值。负值表示高优先级,正值表示低优先级
5 VIRT = (Virtual Image (kb)) 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
6 RES = (Resident size (kb)) 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
7 SHR = (Shared Mem size (kb)) 共享内存大小,单位kb
8 S = (Process Status) 进程状态。D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程
9 %CPU = (CPU usage) 上次更新到现在的CPU时间占用百分比
10 %MEM = (Memory usage (RES)) 进程使用的物理内存百分比
11 TIME+ = (CPU Time, hundredths) 进程使用的CPU时间总计,单位1/100秒
12 COMMAND 命令