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. BBS项目-01

    目录 BBS项目 BBS开发流程: BBS表格创建: BBS项目 BBS开发流程: BBS项目: 开发流程: 需求分析 草拟一些项目的大致技术点和流程 架构设计 架构师(框架 语言 数据库 缓存数据库 ...

  2. 微软SQL Server 2019 全新发布,更新内容亮点都在这里了

    IT之家11月7日消息 在Microsoft   Ignite 2019 大会上,微软正式发布了新一代数据库产品SQL Server 2019.使用统一的数据平台实现业务转型SQL Server 20 ...

  3. fibnacci数列递归

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

  4. JSON Template

    public java.lang.String toString() {#if ( $members.size() > 0 ) #set ( $i = 0 )return "{\&qu ...

  5. 【Activiti学习之三】Activiti API(二)

    环境 JDK 1.8 MySQL 5.6 Tomcat 7 Eclipse-Luna activiti 6.0 一.流程定义1.中止与激活流程定义 package com.wjy.pd; import ...

  6. mapreduce 函数入门 三

    一.mapreduce多job串联 1.需求 一个稍复杂点的处理逻辑往往需要多个 mapreduce 程序串联处理,多 job 的串联可以借助 mapreduce 框架的 JobControl 实现 ...

  7. Java并发编程基础-Unsafe

    前言:Unsafe是Java中一个底层类,包含了很多基础的操作,比如数组操作.对象操作.内存操作.CAS操作.线程(park)操作.栅栏(Fence)操作,JUC包.一些三方框架都使用Unsafe类来 ...

  8. deepin安装卡在deepin标志界面解决方案

    再次重启前将U盘插上,进系统前按快速选择启动装置F12(不同品牌电脑可能不同),选择从U盘启动: 进入第一个安装界面时一定要注意:在跳转前,按E进入grub设置界面,移动光标到倒数第二行的”quiet ...

  9. Linux VIM8.1 Python3 编辑器配置文件

    Linux VIM8.1 Python3 编辑器配置文件 实现功能: 自动补全(包括函数模块方法补全) 自动代码标准格式化 自动检查代码错误 自定义头文件 自动括号补全 缩进指示线 代码一键折叠 代码 ...

  10. FusionInsight大数据开发---SparkStreaming概述

    SparkStreaming概述 SparkStreaming是Spark核心API的一个扩展,它对实时流式数据的处理具有可扩展性.高吞吐量.可容错性等特点. SparkStreaming原理 Spa ...