`

我使用过的Linux命令之top - 实时监视Linux任务

阅读更多

我使用过的Linux命令之top - 实时监视Linux任务

本文链接:http://codingstandards.iteye.com/blog/833730   (转载请注明出处)

用途说明

top命令可以显示Linux任务情况(display Linux tasks),通常用于实时监视Linux任务情况,比如可以找出占CPU最多的进程、占内存最多的进程,查看当前系统的忙闲程度,它涵盖了uptime、free、w、ps等命令的一些功能。它以全屏幕文本方式显示了系统运行时长、当前终端数量、系统负荷、任务数、CPU占用情况、内存使用情况、各个进程的情况,还可以按CPU占用情况排序、内存使用情况排序。对于系统管理员和软件开发来说top都是一个很好的工具,特别是用于性能优化。

 

常用参数

格式:top

交互模式。只显示命令,而不是命令行。

 

格式:top -c

交互模式。显示命令行,而不是只显示命令。这对于显示java进程有些帮助。

 

格式:top -p pid

格式:top -p pid1 -p pid2

交互模式。但是只显示进程号pid对应的信息。可以指定多个pid。

 

格式:top -s

交互模式。安全模式。这将去除交互命令所带来的潜在危险。非安全模式可以kill进程、改变进程优先级等。

 

格式:top -b

批处理模式。可用于脚本处理。不断的输出任务信息,包括所有进程。

 

格式:top -b -n n

批处理模式。输出n 次。比如:top -b -n 1 只显示一次top信息。

 

交互方式常用指令

M(shift+M) 按内存占用情况排序。可以找出占CPU多的进程来。

P(shift+P)   按PCU占用情况排序。可以找出占内存多的进程来。

1 (数字1)    切换显示每个CPU的详细情况/显示CPU的总体情况。较低版本的top命令,默认把所有的CPU都显示出来了;较高版本的只显示CPU总体情况。

q                   退出。

 

使用示例

示例一

[root@web ~]# top

top - 09:57:09 up 125 days, 13:38,  4 users,  load average: 0.13, 0.05, 0.14
Tasks: 144 total,   1 running, 138 sleeping,   0 stopped,   5 zombie
Cpu(s):  1.0%us,  0.5%sy,  0.0%ni, 97.6%id,  0.5%wa,  0.1%hi,  0.2%si,  0.0%st
Mem:   4075420k total,  3924736k used,   150684k free,   176312k buffers
Swap:  5406712k total,      112k used,  5406600k free,  2150380k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                               
29115 root      15   0  2332  968  720 R  2.0  0.0   0:00.01 top                                                                   
    1 root      15   0  2072  632  540 S  0.0  0.0   0:49.30 init                                                                  
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:03.06 migration/0                                                           
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.71 ksoftirqd/0                                                           
    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0                                                            
    5 root      RT  -5     0    0    0 S  0.0  0.0  15:01.52 migration/1                                                           
    6 root      34  19     0    0    0 S  0.0  0.0   0:05.64 ksoftirqd/1                                                           
    7 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/1                                                            
    8 root      10  -5     0    0    0 S  0.0  0.0   0:04.82 events/0                                                              
    9 root      10  -5     0    0    0 S  0.0  0.0  26:55.92 events/1                                                              
   10 root      11  -5     0    0    0 S  0.0  0.0   0:09.14 khelper                                                               
   11 root      10  -5     0    0    0 S  0.0  0.0   0:00.08 kthread                                                               
   15 root      10  -5     0    0    0 S  0.0  0.0   9:04.05 kblockd/0                                                             
   16 root      10  -5     0    0    0 S  0.0  0.0 134:42.49 kblockd/1                                                             
   17 root      14  -5     0    0    0 S  0.0  0.0   0:00.00 kacpid                                                                
  145 root      14  -5     0    0    0 S  0.0  0.0   0:00.00 cqueue/0                                                              
  146 root      14  -5     0    0    0 S  0.0  0.0   0:00.00 cqueue/1                                                              
  149 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 khubd                                                                 
  151 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 kseriod                                                               
  219 root      20   0     0    0    0 S  0.0  0.0   0:03.01 khungtaskd                                                            
  222 root      10  -5     0    0    0 S  0.0  0.0   0:34.93 kswapd0                                                               
  223 root      14  -5     0    0    0 S  0.0  0.0   0:00.00 aio/0                                                                 
  224 root      14  -5     0    0    0 S  0.0  0.0   0:00.00 aio/1                                                                 
  396 root      11  -5     0    0    0 S  0.0  0.0   0:00.00 kpsmoused                                                             
  426 root      13  -5     0    0    0 S  0.0  0.0   0:00.00 ata/0                                                                 
  427 root      13  -5     0    0    0 S  0.0  0.0   0:00.00 ata/1                                                                 
  428 root      13  -5     0    0    0 S  0.0  0.0   0:00.00 ata_aux                                                               
  432 root      13  -5     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_0                                                             
  433 root      12  -5     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_1                                                             
  434 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_2                                                             
  435 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_3                                                             
  439 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_4                                                             
  440 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_5                                                             
  444 root      12  -5     0    0    0 S  0.0  0.0   0:00.00 kstriped                                                              

q
[root@web ~]#

 

示例二 用于监视特定进程的脚本

文件mytop.sh。只需要将需要监视的进程命令行特征保存到KEYS中即可。

#!/bin/sh

KEYS='agent|omc4j|terminal|module'

pslist()
{
    ps -ef | egrep $KEYS | grep -v grep
}

readpid()
{
#root      2823  2822  0 10:28 pts/0    00:00:00 java -classpath ./omc4j.jar:.:../../lib/hyjc.jar:../../lib/log4j-1.2.15.jar omc.test.Run
#root      2834  2395  0 10:28 pts/1    00:00:01 ./agent
#root      2841  2507  0 10:28 pts/3    00:00:00 ./terminal
    while read user pid dummy;
    do
        echo -n " -p $pid"
    done
}

top `pslist | readpid`

 

示例三 批处理模式

[root@smsgw root]# top -b -n 1 >top.txt
[root@smsgw root]# wc -l top.txt
    728 top.txt
[root@smsgw root]# less top.txt


 10:44:12  up 340 days, 17:29,  5 users,  load average: 0.41, 0.11, 0.03
713 processes: 708 sleeping, 1 running, 4 zombie, 0 stopped
CPU states:  cpu    user    nice  system    irq  softirq  iowait    idle
           total    0.0%    0.0%    1.1%   0.0%     0.0%    0.0%   98.8%
           cpu00    0.0%    0.0%    0.0%   0.0%     0.0%    0.0%  100.0%
           cpu01    0.0%    0.0%    0.0%   0.0%     0.0%    0.0%  100.0%
           cpu02    0.0%    0.0%    0.0%   0.0%     0.0%    0.0%  100.0%
           cpu03    0.0%    0.0%    4.7%   0.0%     0.0%    0.0%   95.2%
Mem:  2053816k av, 2028696k used,   25120k free,       0k shrd,  160236k buff
                   1260028k actv,  237468k in_d,   32116k in_c
Swap: 2044056k av, 1190484k used,  853572k free                  366668k cached

  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME CPU COMMAND
16039 root      20   0  2004 2004   876 R     1.1  0.0   0:00   3 top
    1 root      15   0   220  188   160 S     0.0  0.0   2:09   2 init
    2 root      RT   0     0    0     0 SW    0.0  0.0   0:00   0 migration/0
    3 root      RT   0     0    0     0 SW    0.0  0.0   0:00   1 migration/1
    4 root      RT   0     0    0     0 SW    0.0  0.0   0:00   2 migration/2
    5 root      RT   0     0    0     0 SW    0.0  0.0   0:00   3 migration/3
    6 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 keventd
    7 root      34  19     0    0     0 SWN   0.0  0.0   0:00   0 ksoftirqd/0
    8 root      34  19     0    0     0 SWN   0.0  0.0   0:00   1 ksoftirqd/1
    9 root      34  19     0    0     0 SWN   0.0  0.0   0:00   2 ksoftirqd/2
   10 root      34  19     0    0     0 SWN   0.0  0.0   0:00   3 ksoftirqd/3
   13 root      15   0     0    0     0 SW    0.0  0.0   0:01   1 bdflush
   11 root      15   0     0    0     0 SW    0.0  0.0  31:07   2 kswapd
   12 root      15   0     0    0     0 SW    0.0  0.0  72:42   1 kscand
   14 root      15   0     0    0     0 SW    0.0  0.0   7:15   0 kupdated
   15 root      25   0     0    0     0 SW    0.0  0.0   0:00   0 mdrecoveryd
   23 root      15   0     0    0     0 SW    0.0  0.0  18:13   2 kjournald
   79 root      24   0     0    0     0 SW    0.0  0.0   0:00   2 khubd
 1158 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 kjournald
 1159 root      15   0     0    0     0 SW    0.0  0.0  11:04   3 kjournald
 1160 root      15   0     0    0     0 SW    0.0  0.0   2:35   2 kjournald
 1161 root      15   0     0    0     0 SW    0.0  0.0   0:00   3 kjournald
 1588 root      15   0   344  340   260 S     0.0  0.0   3:06   2 syslogd
 1592 root      15   0   220  208   160 S     0.0  0.0   0:00   1 klogd
 1603 root      15   0   252  244   192 S     0.0  0.0  14:15   2 irqbalance
top.txt

q

[root@smsgw root]#

 

问题思考

相关资料

【1】Javava   linux top命令详解   
【2】LinuxTone   linux top命令详解   
【3】互动百科   linux top

 

返回 我使用过的Linux命令系列总目录

 

0
0
分享到:
评论

相关推荐

    Linux下的top命令详细介绍

    比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人...

    Linux系统top命令的使用方法介绍.docx

    在Linux系统中,`top`命令是一个非常实用的实时系统监视工具,它可以提供关于系统资源利用率,如CPU、内存、虚拟内存、交换分区等的详细信息,并且能够动态地查看和管理正在运行的进程。`top`命令是系统管理员监控...

    150个常用Linux命令

    ### Linux基础命令详解 随着Linux系统的广泛应用,掌握其基本命令对于任何从事IT行业的人来说变得尤为重要。本文将基于“150个常用Linux命令”的内容,详细介绍其中的关键知识点,特别是那些对于初学者而言至关重要...

    图解linux下top命令的使用

    `top` 命令是Linux操作系统中一个强大的实时系统监视工具,用于查看系统整体的性能状态,包括CPU、内存使用情况以及正在运行的进程等信息。它是一个动态的视图,可以实时更新显示的数据,使得管理员能够及时了解系统...

    linux中top命令详解

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在...

    Linux监视CPU的命令

    - **top**:是一个实时监控命令,可以查看 CPU 使用率。用户可以通过交互式命令进行排序,比如按照 CPU 使用率、内存使用率等进行排序。 #### 4. 总结 通过使用 `mpstat` 命令,可以有效地监控和分析 Linux 系统中...

    Linux文版-实验8-进程管理-学生实验报告模板-p.doc

    `top`命令实时显示系统的CPU、内存使用情况和进程状态。通过M、T、P键可以调整进程的排序方式。在GNOME桌面环境下,还可以使用"系统监视器"工具来监视CPU、进程、文件系统和日志。 ### 5. 进程关系查看 使用`ps -...

    top指令参数详解

    top指令是 Unix/Linux 系统中最流行的性能分析工具之一,系统管理员可以使用 top 命令来监视进程和 Linux 系统的整体性能。下面是 top 指令的详细参数解释: -d [delay]:改变显示的更新速度。例如,top -d 5 将每 ...

    查看Linux下系统资源占用常用命令.docx

    可以使用free命令不间断地监视内存使用情况,从而实时监控系统的性能。 3. uptime命令 uptime命令用于显示系统的平均负载情况,包括当前时间、系统启动时间、当前系统登录用户数目、平均负载等。uptime命令的格式...

    Linux命令大全完整版

    ### Linux命令大全完整版知识点详解 #### 一、Linux系统管理命令 在Linux系统中,系统管理命令主要用于管理和控制系统的运行状态,包括用户管理、进程管理等。 ##### 1. adduser - **功能**: 用于添加新用户到...

    Linux查看CPU和内存使用情况

    `top`命令是一个实时的系统监视工具,它能够提供关于系统任务执行情况的动态视图。启动`top`命令非常简单,在终端输入`top`即可。 ##### `top`命令的界面解读 `top`命令的显示界面分为三大部分: 1. **系统信息栏...

    Linux进程与任务管理

    - `top`:实时监控系统中进程的资源使用情况。 - `nice` 和 `renice`:用于调整进程的优先级。 - `kill` 和 `killall`:发送信号给指定进程,用于终止进程。 #### 三、图形界面下的进程管理 在现代Linux发行版中,...

    linux linux进程管理 常用命令

    ps 命令是 Linux 中最常用的命令之一,用于查看正在运行的进程。ps 命令的基本格式为:`ps [选项]`,其中选项可以是: * a:显示一个终端的所有进程,除会话引线外。 * u:显示进程的归属用户及内存的使用情况。 * ...

    Qt linux获取cpu使用率、内存、网络收发速度、磁盘读写速度、磁盘剩余空间

    在Linux系统中,使用Qt库开发应用程序时,可以利用各种系统接口来获取CPU使用率、内存占用、网络流量、磁盘I/O速度以及磁盘剩余空间等关键信息。以下将详细讲解如何通过Qt来实现这些功能。 1. CPU使用率: 在Linux...

    Linux 监视系统资源使用率.docx

    本文将介绍如何在Linux中使用`top`命令来监视系统资源。 `top`命令是Linux系统中的一个实时动态查看系统状态的工具,它能够显示系统中各个进程的资源占用情况,包括CPU和内存利用率。通过`top`命令,管理员可以了解...

    CentOS中使用top命令查看CPU.docx

    CentOS 中使用 top 命令查看 CPU CentOS 是 RHEL(Red Hat ...在实际应用中,我们可以通过远程监控的方式对服务器进行维护,让服务器本地的终端实时的运行 top,是在服务器本地监视服务器状态的快捷便利之一。

    常用Linux命令详解

    `top` 命令用于实时查看系统中各个进程的状态。 - **-d**: 设置屏幕刷新间隔时间。 - **-b**: 以批处理模式运行 top,常用于脚本中。 - **-n**: 设置 top 运行次数。 - **-p**: 监控特定 PID 的进程。 - **?**: ...

    linux常用命令总结文档

    - **top**: 实时显示系统资源使用情况。 - `P`: 按CPU使用率排序。 - `M`: 按内存使用率排序。 - `S`: 按占用的堆栈大小排序。 - **ps**: 显示进程信息。 - `ps aux`: 显示所有用户的进程信息。 - `ps -ef`: ...

    Linux系统管理命令使用说明.docx

    最后,`top`命令是一个实时的进程监视工具,它可以显示系统中运行的进程及其资源消耗情况。`top`命令的一些参数包括: - `-d`:改变更新间隔。 - `-q`:高优先级运行,除非有超级用户权限。 - `-c`:显示完整的...

    linux下top命令参数解释定义.pdf

    `top`命令是Linux系统中一个非常重要的性能分析工具,它允许用户实时监控系统的整体状态,包括CPU使用率、内存使用情况以及各个进程的资源占用等。以下是对`top`命令参数及其显示内容的详细解释: 1. **基本概念与...

Global site tag (gtag.js) - Google Analytics