top - display Linux processes

显示linux进程

格式:

top -hv|-bcHiOSs -d secs -n max -u|U user -p pid -o fld -w [cols]

常用命令行选项:

  • -c:显示完整的运行命令,默认显示命令名称。
  • -b:批处理模式,此模式下top不接受输入并运行。直到使用-n命令的迭代限制或终止信号。此命令可将top的输出至其他程序或文件中。
  • -n:显示限制次数
  • -d:自动刷新延迟的时间,默认3秒
  • -p pid:监视特定的pid,pid为0表示top命令本身
  • -u user|uid:监视特定用户的进程。与-p命令冲突

**标准输出说明:**
```
[root@proxy ~]# top
top - 11:25:58 up 784 days, 7:31, 5 users, load average: 0.08, 0.10, 0.09
Tasks: 593 total, 1 running, 592 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.4%us, 0.1%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8008908k total, 7456576k used, 552332k free, 431560k buffers
Swap: 8388600k total, 15708k used, 8372892k free, 4259372k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

44904 nobody 20 0 490m 139m 5904 S 5.7 1.8 8:21.05 nginx

44906 nobody 20 0 491m 140m 5884 S 5.7 1.8 8:26.67 nginx

18813 root 20 0 15420 1516 828 R 3.8 0.0 0:00.03 top

...

前五行是当前系统情况整体的统计信息区,后面则是进程相关信息。
<br /> ####时间和负载状态:
`top - 11:25:58 up 784 days, 7:31, 5 users, load average: 0.08, 0.10, 0.09`:
第一行可以使用linux系统自带`uptime`命令获取。
`11:25:58` :当前时间
`up 784 days , 7:31`:运行多长时间,上一次启动到现在的时间。
`5 users`:当前登录用户的数量
`load average: 0.08, 0.10, 0.09`:1,5,15分钟的负载情况,1表示一个逻辑CPU负载满。如果机器有n个CPU核心,则1*n代表CPU全部跑满,此时应注意系统风险。 <br />
####任务和CPU状态:

Tasks: 593 total, 1 running, 592 sleeping, 0 stopped, 0 zombie

Cpu(s): 0.4%us, 0.1%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

第一行显示总的任务和线程,还有正在运行,睡眠,停止,僵尸状态的进程数量。
第二行显示CPU状态:
`0.4%us`:user,用户占用cpu的百分比
`0.1%sy`:system,系统占用cpu的百分比
`0.0%ni`:niced,运行调整过优先级的用户进程的时间
`99.5%id`:idle,空间时间
`0.0%wa`:wait,等待IO完成的时间
`0.0%hi`:hardware interrupts,用于维护硬件中断的时间
`0.0%si`:software interrupts,用于维护软件中断的时间
`0.0%st`stole,这个系统被hypervisor(虚拟机管理程序)消耗的CPU时间。 <br />
####内存使用率

Mem: 8008908k total, 7456576k used, 552332k free, 431560k buffers

Swap: 8388600k total, 15708k used, 8372892k free, 4259372k cached

与`free`显示的结果一样,只不过只能以KB单位结尾。

<br />
####字段列

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

44904 nobody 20 0 490m 139m 5904 S 5.7 1.8 8:21.05 nginx

44906 nobody 20 0 491m 140m 5884 S 5.7 1.8 8:26.67 nginx

18813 root 20 0 15420 1516 828 R 3.8 0.0 0:00.03 top

`PID`:进程号
`USER`:进程用户
`PR`:Priority,进程的优先级
`NI`:进程的nice值(优先级),越小的值意味着越高的优先级。
`VIRT`:进程使用的虚拟内存,它包括所有代码数据和共享库,以用交换出去的页面,已映射但未使用的页。
`RES`:常驻内存大小。
`SHR`:Shared Memory Size,任务可用的共享内存量。通常不是所有的共享内存都驻留在任务中。它只是反映了可能被共享的内存与其他流程
`S`:进程状态
* D:不可中断睡眠
* R:运行态
* S:睡眠态
* T:被控制信号停止
* Z:僵尸态
`%CPU`:自上次更新以来程序占用CPU时间份额,表示为总CPU时间百分比。
`%MEM`:进程使用的可用物理内存百分比
`TIME+`:任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。86:34.44,表示86分34秒,44表示百分之44秒
`COMMAND`: 运行进程所使用的命令
<br />
`f`交互式命令可以选择其他可以显示的类型数据。 <br /> ###交互选项:
* 'c':同`-c`
* 'R':反向排序/常规排序
* 'u':同`-u`
* 'n','#':设置最大显示的任务数量,前几个任务
* 'k':kill命令,后跟pid。可直接在top界面杀死进程
* 'r':重新设置一个任务的调试优先级
* 'f':自定义显示的字段。
* 'l':切换显示平均负载和启动时间
* 't':切换显示进程和CPU状态信息
* 'm':切换显示内存信息
* 'M':根据驻留内存大小进行排序
* 'E':内存显示后缀可自动换算成KiB,MiB,GiB,TiB,PiB,EiB结尾,新版本的top中才有此功能。6没有,7有。
* 'e':切换字段列中与内存相关的信息以KiB,MiB,GiB,TiB,PiB,EiB,此类单位结尾,
* 'P':根据CPU使用百分比大小进行排序
* 'd':设置进程刷新时间
* 'h':显示交互命令帮助菜单
* 'q':退出程序
* 回车和空格可手动刷新 <br />
**其他使用技巧:**
1. 在`top`命令视图中,按数字"1",可监控每个逻辑CPU的状态 <br /> **示例:**

[moorecat@DMZ4 ~]$ top

top - 10:51:56 up 95 days, 18:15, 2 users, load average: 0.01, 0.22, 0.26

Tasks: 468 total, 1 running, 467 sleeping, 0 stopped, 0 zombie

Cpu(s): 1.3%us, 0.4%sy, 0.0%ni, 98.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Mem: 16280416k total, 14170104k used, 2110312k free, 24928k buffers

Swap: 8208376k total, 5769468k used, 2438908k free, 523552k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

38434 root 20 0 4228m 325m 6004 S 22.9 2.1 380:47.50 java -jar -Xms256m -Xmx256m -XX:PermSize=128m -XX:MaxPermSize=128m /usr/local/instance/sanya/jsappnew/b

36978 moorecat 20 0 15300 1556 948 R 5.7 0.0 0:00.08 top

38780 root 20 0 8653m 473m 6344 S 3.8 3.0 572:05.22 java -jar -Xms256m -Xmx256m -XX:PermSize=128m -XX:MaxPermSize=128m /usr/local/instance/sanya/jsappnew/b

<br />

[root@node1 ~]# top -b -n 1 > 1.txt #保存输出至文件中

[root@node1 ~]# top -c #进程详细执行命令

top - 02:02:45 up 5:51, 3 users, load average: 0.05, 0.04, 0.05

Tasks: 101 total, 2 running, 99 sleeping, 0 stopped, 0 zombie

%Cpu(s): 5.3 us, 21.1 sy, 0.0 ni, 73.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

KiB Mem : 997956 total, 522848 free, 187500 used, 287608 buff/cache

KiB Swap: 2097148 total, 2097148 free, 0 used. 630760 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

6499 root 20 0 162072 2236 1564 R 11.8 0.2 0:00.04 top

4258 mongod 20 0 1079516 86216 7688 S 5.9 8.6 3:24.22 /usr/bin/mongod -f /etc/mongod.conf

1 root 20 0 125428 3808 2560 S 0.0 0.4 0:02.09 /usr/lib/systemd/systemd --switched-root --system --deserialize 22

...



额外资料:[https://www.oschina.net/translate/using-top-more-efficiently](https://www.oschina.net/translate/using-top-more-efficiently)

top - 交互式监控的更多相关文章

  1. NATS_07:NATS之top工具监控以及测量调优工具

    概述 你可以使用 nats-top 来实现类似于 linux 中 top 命令的实时监控 nats 服务: 可以使用 nats 提供的工具来进行针对性的调优. 安装nats-top $ go get ...

  2. python 写一个类似于top的监控脚本

    最近老板给提出一个需要,项目需求大致如下:      1.用树莓派作为网关,底层接多个ZigBee传感节点,网关把ZigBee传感节点采集到的信息通过串口接收汇总,并且发送给上层的HTTP Serve ...

  3. Linux下top命令监控性能状态

    1.性能分析因素:CPU.内存.网络.磁盘读写 2.系统对应的应用类型主要分为以下两种: IO Bound:一般都是高负荷的内存使用以及存储系统,IO范畴的应用就是一个大数据处理的过程:通常数据库软件 ...

  4. ps和top进程监控

    一.名词解释 1.什么是进程(what is process)? 答:进程是程序运行的过程,伴有动态,生命和运行状态.(组成:1.已分配内存的地址空间  2.安全属性,包括所有权凭据和特权  3.程序 ...

  5. Linux - top命令监控列表的详细解析

    统计信息区(系统资源信息区) 前五行,即列表上方的五行 第一行:输出系统任务队列信息 18:46:38:系统当前时间 up 2days 1:54:系统开机后到现在的总运行时间 1 user:当前登录用 ...

  6. linux视频学习5(top, 网络监控

    top命令的详解: 1. top :动态监控进程. 第一行:当前系统时间:  up  4days :服务器启动后的持续时间. 5 user 当前服务器上的用户数目 ; load average :负载 ...

  7. docker轻量级监控-sysdig

    sysdig Sysdig = system(系统)+dig(挖掘).Sysdig 是一个开源系统发掘工具,用于系统级别的勘察和排障,可以把它看作一系列Linux系统工具的组合,主要包括: strac ...

  8. JVM值内存垃圾回收监控之jstat

    如何判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为top主要监控的是总体的系统资源,很难定位到java应用程序. Jstat是JDK自带的一个轻量级小工具.全称“Java ...

  9. linux Nagios监控

    监控目标 监控目标主机分为四个部分 硬件资源 操作系统 数据库 应用软件 监控目的: 进行服务器性能调整前,知道调整什么,系统瓶颈在什么地方 被一部分必须同时监控,内容包括吞吐量,反应时间,使用率等 ...

随机推荐

  1. 面向对象的理解 抽象类&接口

    一.关于面向对象 1.什么是面向对象     在解释面向对象之前,先说说面向过程.学过C的同学都知道,C就是面向过程的一种语言.那什么是面向过程呢?比方说组装主机,对于面向过程,需要从0开始.买cpu ...

  2. fibnacci数列递归

    1,斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这 ...

  3. windows下SVN使用 Add指令、Undo Add指令

    前几天,使用SVN的Add指令添加了一个文件,后不使用直接删除了,每次提交都存在,解决后记录方法,希望帮到大家,此外如果大家有好的方法,希望可以回复. 问题:使用Add添加文件后直接删除了文件,每次提 ...

  4. ArcSOC进程数不断增长导致oracle processes溢出原因分析

    现场出现了一个问题,oracle运行一段时间之后,process个数会溢出,然后新的连接会失败.通过分析,发现Arcgis Server 的ArcSOC进程在不段增长.ArcSOC是arcgis se ...

  5. SpringBoot系列教程web篇Listener四种注册姿势

    java web三要素Filter, Servlet前面分别进行了介绍,接下来我们看一下Listener的相关知识点,本篇博文主要内容为SpringBoot环境下,如何自定义Listener并注册到s ...

  6. unity文件路径

    转载自:https://blog.csdn.net/linxinfa/article/details/51679528 各平台具体路径: 1.Resources Resources文件夹是一个只读的文 ...

  7. [转帖]什么是IOC(控制反转)、DI(依赖注入)

    什么是IOC(控制反转).DI(依赖注入) 2018-08-22 21:29:13 Ming339456 阅读数 20642   原文地址(摘要了部分内容):https://blog.csdn.net ...

  8. Aliyun发送短信接口调用方法

    aliyun新版发送短信讲的不是很清晰,初次使用一堆dll不知道用哪个,以.net为例 申请SignName与Template_code请先申请,一般两个小时能通过 一.https://help.al ...

  9. MD5加盐与安全

    PHP开发者对md5()这个函数是熟悉不过了,很多开发者都使用md5('abc123')对用户密码进行加密处理,这样做没有错,但是安全性还是很低的,因为很多网站的用户数据都是用md5进行加密处理的,所 ...

  10. Sitecore 个性化 - 近距离和过于个人化?

    Sitecore个性化为营销人员提供了前所未有的强大功能,可以创建引人入胜一旦您发现 营销个性化 错误,就很有可能使用您的新技能来定制您网站的各个方面.但强大的力量带来了巨大的责任.在这篇文章中,我将 ...