日期:2014-05-16  浏览次数:20828 次

查看进程占用内存cpu信息,Linux命令—TOP

?

http://www.ylmf.net/read.php?tid=1323188

我们使用top命令来查看CPU使用状况。

top不会产生输出,屏幕内容保持不变。它刷新屏幕以显示新信息。因此,如果您只执行top并保持屏幕一直开启,则屏幕始终显示最新信息。退出top的命令为q,或者按下Ctrl-C.



top - 17:03:45 up 58 days,? 4:01,? 1 user,? load average: 0.00, 0.02, 0.00
Tasks: 172 total,? 1 running, 171 sleeping,? 0 stopped,? 0 zombie
Cpu(s):? 0.2% us,? 0.1% sy,? 0.0% ni, 99.7% id,? 0.0% wa,? 0.0% hi,? 0.0% si
Mem:? 4037036k total,? 4007280k used,? ? 29756k free,? ? 93384k buffers
Swap:? 8385888k total,? ? 71536k used,? 8314352k free,? 3068240k cached

? PID USER? ? ? PR? NI? VIRT? RES? SHR S %CPU %MEM? ? TIME+? COMMAND? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
27167 oracle? ? 16? 0 2011m 490m 483m S? ? 1 12.4? 0:46.93 oracle? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
27175 oracle? ? 15? 0 2011m 517m 510m S? ? 1 13.1? 0:49.78 oracle? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
5003 oracle? ? 15? 0 2021m? 33m? 29m S? ? 0? 0.9? 3:56.10 oracle? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? 1 root? ? ? 16? 0? 4756? 552? 460 S? ? 0? 0.0? 0:09.31 init? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? 2 root? ? ? RT? 0? ? 0? ? 0? ? 0 S? ? 0? 0.0? 0:00.47 migration/0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ...............................



第一行(top):

top - 17:03:45 up 58 days,? 4:01,? 1 user,? load average: 0.00, 0.02, 0.00
    “17:03:45”为系统当前时刻;
    “58 days,? 4:01”为系统启动后到现在的运作时间;
    “1 user”为当前登录到系统的用户,更确切的说是登录到用户的终端数--同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目;
    “load average”为当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,一般的可以认为这个数值超过CPU数目时,CPU将比较吃力的负载当前系统所包含的进程;

第二行(Tasks):
    “172 total”为当前系统进程总数;
    “1 running”为当前运行中的进程数;
    “171 sleeping”为当前处于等待状态中的进程数;
    “0 stoped”为被停止的系统进程数;
    “0 zombie”为僵死的进程数;

第三行(Cpus):
  显示CPU利用率的详细信息,如果有多个CPU,屏幕将在每行显示一个CPU的信息。



第四行(Mem):
  显示可用的和已利用的内存



第五行(Swap):
    表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。

  其余的显示内容以表格格式显示进程。下面对各列进行解释:

列描述

PID? ? ? ? ? ? 进程的进程ID

USER? ? ? ? ? 运行该进程的用户

PRI? ? ? ? ? 进程的优先级

NI? ? ? ? ? ? nice值:该值越高,任务的优先级越低

SIZE? ? ? ? ? 该进程使用的内存(代码+数据+堆栈)

RSS? ? ? ? ? 该进程使用的物理内存

SHARE? ? ? ? 该进程使用的共享内存

STAT? 该进程的状态,用代码显示。一些主要的状态代码包括:
R— 正在运行
S— 正在休眠
Z— 迟滞
T— 已停止

您还会看到第二个和第三个字符,它们表示:
W— 已换出的进程
N— 正nice值

%CPU? ? ? ? ? 该进程使用的CPU百分比

%MEM? ? ? ? ? 该进程使用的内存百分比

TIME? ? ? ? ? 该进程使用的总CPU时间

CPU? ? ? ? ? 如果这是一个多处理器系统,该列指明正在其上运行进程的CPU的ID。

COMMAND? ? ? ? 该进程发出的命令



top运行中可以通过top的内部命令对进程的显示方式进行控制。内部命令如下:

  s -改变画面更新频率
  l -关闭或开启第一部分第一行top信息的表示
  t -关闭或开启第一部分第二行Tasks和第三行Cpus信息的表示
  m -关闭或开启第一部分第四行Mem和第五行Swap信息的表示
  N -以PID的大小的顺序排列表示进程列表

? ? P -以CPU占用率大小的顺序排列进程列表?

? M -以内存占用率大小的顺序排列进程列表
  h -显示帮助
  n -设置在进程列表所显示进程的数量
  q -退出top