Linux查看CPU和内存使用情况

时间: 2013-07-20  分类: Linux  收藏

top命令 是Linux下常用的性能 分析工具 ,能够实时显示系统 中各个进程的资源占用状况,类似于Windows的任务管理 器。下面详细介绍它的使用方法。

 

举例,如使用#top命令后显示如下信息:

top - 02:53:32 up 16 days,  6:34, 17 users,  load average: 0.24, 0.21, 0.24
Tasks: 481 total,   3 running, 474 sleeping,   0 stopped,   4 zombie
Cpu(s): 10.3%us,  1.8%sy,  0.0%ni, 86.6%id,  0.5%wa,  0.2%hi,  0.6%si,  0.0%st
Mem:   4042764k total,  4001096k used,    41668k free,   383536k buffers
Swap:  2104472k total,     7900k used,  2096572k free,  1557040k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
32497 jacky     20   0  669m 222m  31m R   10  5.6       29:27.62 firefox
 4788 yiuwing   20   0  257m  18m  13m S    5  0.5          5:42.44 konsole
 5657 Liuxiaof  20   0  585m 159m  30m S    4  4.0          5:25.06 firefox
 4455 xiefc      20   0  542m  124m  30m R    4  3.1         7:23.03 firefox
 6188 Liuxiaof  20   0  191m   17m  13m S    4  0.5          0:01.16 konsole

 

如上统计信息解释:

统计信息区前五行是系统整体的统计信息。第一行是任务队列信息,同 uptime  命令的执行结果。其内容如下: 

01:06:48                                    当前时间  
up 1:22                                     系统运行 时间,格式为时:分  
1 user                                        当前登录用户 数  
load average: 0.06, 0.60, 0.48  系统负载 ,即任务队列的平均长度。三个数值分别为  1分钟、5分钟、15分钟前到现在的平均值。  


第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下: 

Tasks: 29 total                           进程总数  
1 running                                  正在运行的进程数  
28 sleeping                                睡眠的进程数  
0 stopped                                 停止的进程数  
0 zombie                                   僵尸进程数  
Cpu(s): 0.3% us                       用户空间占用CPU百分比  
1.0% sy                                    内核 空间占用CPU百分比  
0.0% ni                                     用户进程空间内改变过优先级的进程占用CPU百分比  
98.7% id                                  空闲CPU百分比  
0.0% wa                                   等待输入输出的CPU时间百分比  
0.0% hi     
0.0% si     


最后两行为内存 信息。内容如下: 

Mem: 191272k total                 物理内存总量  
173656k used                          使用的物理内存总量  
17616k free                              空闲内存总量  
22052k buffers                          用作内核缓存 的内存量  
Swap: 192772k total                 交换区总量  
0k used                                     使用的交换区总量  
192772k free                             空闲交换区总量  
123988k cached                      缓冲的交换区总量。
            内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,
            该数值即为这些内容已存在于内存中的交换区的大小。
            相应的内存再次被换出时可不必再对交换区写入。  

 

各进程列的含义

进程信息区统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。 

序号  列名  含义  
a  PID                              进程id  
b  PPID                            父进程id  
c  RUSER                         Real user name  
d  UID                              进程所有者的用户id  
e  USER                            进程所有者的用户名  
f  GROUP                          进程所有者的组名  
g  TTY                              启动进程的终端名。不是从终端启动的进程则显示为 ?  
h  PR                                优先级  
i  NI                                  nice值。负值表示高优先级,正值表示低优先级  
j  P                                   最后使用的CPU,仅在多CPU环境 下有意义  
k  %CPU                          上次更新到现在的CPU时间占用百分比  
l  TIME                              进程使用的CPU时间总计,单位秒  
m  TIME+                         进程使用的CPU时间总计,单位1/100秒  
n  %MEM                          进程使用的物理内存 百分比  
o  VIRT                             进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES  
p  SWAP                          进程使用的虚拟内存中,被换出的大小,单位kb。  
q  RES                             进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA  
r  CODE                           可执行代码占用的物理 内存大小,单位kb  
s  DATA                            可执行代码以外的部分(数据 段+栈)占用的物理 内存大小,单位kb  
t  SHR                              共享内存大小,单位kb  
u  nFLT                            页面错误次数  
v  nDRT                           最后一次写入到现在,被修改过的页面数。  
w  S                                 进程状态。
                                               D =不可中断的睡眠状态
                                              R =运行
                                              S =睡眠
                                              T =跟踪/停止
                                              Z =僵尸进程  
x  COMMAND                 命令名/命令行  
y  WCHAN                     若该进程在睡眠,则显示睡眠中的系统函数名  
z  Flags                           任务标志,参考 sched.h  


默认情况下仅显示比较重要的  PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND  列。可以通过下面的快捷键来更改显示内容。
更改显示内容通过 f 键可以选择显示的内容。按 f 键之后会显示列的列表,按 a-z  即可显示或隐藏对应的列,最后按回车键确定。
按 o 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z  可以将相应的列向左移动。最后按回车键确定。
按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序。而大写的  R 键可以将当前的排序倒转。 

  

============================== 

top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。
<空格>:立刻刷新。
P:根据CPU使用大小进行排序。
T:根据时间、累计时间排序。
q:退出top命令。
m:切换显示内存信息。
t:切换显示进程和CPU状态信息。
c:切换显示命令名称和完整命令行。
M:根据使用内存大小进行排序。
W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。

 应用实例 
使用top命令可以监视指定用户,缺省情况是监视所有用户的进程。如果想查看指定用户的情况,在终端中按“U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面。
a.作用
free命令用来显示内存的使用情况,使用权限是所有用户。
b.格式
free [-b -k -m] [-o] [-s delay] [-t] [-V]
c.主要参数
-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
-s delay:显示每隔多少秒数来显示一次内存使用情况。
-t:显示内存总和列。
-o:不显示缓冲区调节列。
d.应用实例
free命令是用来查看内存使用情况的主要命令。和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。
#free -b -s5
使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位),每5秒更新一次。 

 

分享到:

评论

昵 称: