`

我使用过的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命令详解

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

    Linux操作系统 top详解

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

    入门学习Linux常用必会60个命令实例详解doc/txt

    所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也...

    Linux监控cpu以及内存使用情况之top命令(详解)

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

    使用top命令分析linux系统性能的详解

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

    Linux服务器配置与管理:linux进程管理.pptx

    会使用ps和top命令监视进程状态 【思政目标】 实践是检验真理的唯一标准,引导学生注重实践操作,在实践中检验理论,促进岗位能力形成。 1.ps命令——查看静态的进程状态(Processes Statistic) ps命令是Linux系统中...

    Linux操作系统里的进程管理详细介绍

    进程监视和控制是任何Linux系统管理员的核心任务。一个管理员可以终止 (\\\\\\\"kill\\\\\\\")、重启一个进程,甚至可以为它指定一个不同的优先级。标准的Linux命令\\\\\\\"ps\\\\\\\"和\\\\\\\"top\\\\\\\"通常...

    Linux中安装Glances监控器完整教程(含所有必须安装的工具)

    top 命令是 Linux 下的一个实时任务管理器, 同时也是用于在 GNU/Linux 发行版中寻找系统性能方面的瓶颈,并帮助我们作出正确操作的常用系统监视工具。 她有着一个极为简洁的界面,并自带少量的可以帮助我们快速了解...

    Linux使用教程(教程)

    4、top 监视系统任务的工具; 73 5、进程的优先级:nice和renice; 73 八、脚本 77 ※1. Linux 脚本编写基础 77 ※1.1 开头 77 ※1.2 注释 77 ※1.3 变量 77 ※1.4 环境变量 77 ※2.条件判断 77 ※test 文件运算符 ...

    RED HAT LINUX 6大全

    4.8 使用Red Hat的wmconfig命令 54 4.9 个人化的X资源文件 54 4.10 使用xdm 55 4.11 XFree86疑难解答 57 4.12 小结 57 第5章 窗口管理器 58 5.1 GNOME X环境 59 5.1.1 什么是GNOME 59 5.1.2 GNOME 安装组件 59 5.1.3...

    redhat linux教材20课程学习文档

    第一部分 Linux简介和原理介绍 第一章 概述 1.1 Linux 的历史及背景 1.1.1 什么是 Linux? 1.1.2 Linux 该怎么念? 1.1.3 Linux 的历史 1.1.4 Linux的优点 1.2 Linux与开源软件 1.3 Linux 与 Windows 的比较 1.3.1 ...

    ctop 是一款 linux 上针对容器的类 top 工具

    Ctop是一款 linux 上针对容器的类 top,和Linux top展示效果类似的一个容器状态监视工具,Ctop可以动态的显示容器的cpu、内存、网络的使用情况。

    iotop命令 监视磁盘I/O状态

    iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。 Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道...

    linux process explorer-开源

    该项目在github上继续进行,请参阅https://github.com/wolfc01/procexp/blob/master/README.md用于Linux的图形化过程浏览器。 显示过程信息:过程树,TCP IP连接和过程... 在进程树中,使用鼠标右键监视进程详细信息。

    pkgtop:为GNULinux设计的交互式软件包管理器和资源监视器

    pkgtop是为GNU / Linux设计的交互式软件包管理器和资源监视工具。 如果用户不熟悉操作系统或该操作所需的命令,则软件包管理(安装/升级/删除等)可能会成为问题。 因此,pkgtop尝试通过易于使用的终端界面和快捷键...

    Android代码-终端实现的 JVM 监视器。

    jvm-top lets you monitor your JVM server applications from the terminal. Install Requirement: a JDK8 on the server and JAVA_HOME environment variable pointing to it. It won't work with just a JRE. ...

    Linux工具之Nethogs按进程监控网络带宽的安装部署

    目前Linux系统有很多开源网络监视工具.比如说,你可以用命令iftop来检查带宽使用情况. netstat用来查看接口统计报告,还有top监控系统当前运行进程.但是如果你想要找一个能够按进程实时统计网络带宽利用率的工具,那么...

    kvmtop:KVM虚拟机管理程序级别的黑盒虚拟机监视工具

    为什么还要使用另一个虚拟机监视工具? Kvmtop考虑了虚拟机内部和外部利用率之间的差异,在超额配置的情况下该差异也不同。 Kvmtop收集虚拟机管理程序的利用率值,以衡量运行虚拟机所需的开销。 Kvmtop将有助于发现...

    uroboros:一个GNULinux监视和分析工具,专注于单个进程

    尽管top,ps和htop之类的实用程序提供了很好的总体细节,但它们通常缺少用于特定过程的有用的时间表示形式,而过程数据点的这种可视表示形式可用于分析,调试和总体监视其良好运行状况。 诸如psrecord之类的工具...

Global site tag (gtag.js) - Google Analytics