top - 交互式监控
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 - 交互式监控的更多相关文章
- NATS_07:NATS之top工具监控以及测量调优工具
概述 你可以使用 nats-top 来实现类似于 linux 中 top 命令的实时监控 nats 服务: 可以使用 nats 提供的工具来进行针对性的调优. 安装nats-top $ go get ...
- python 写一个类似于top的监控脚本
最近老板给提出一个需要,项目需求大致如下: 1.用树莓派作为网关,底层接多个ZigBee传感节点,网关把ZigBee传感节点采集到的信息通过串口接收汇总,并且发送给上层的HTTP Serve ...
- Linux下top命令监控性能状态
1.性能分析因素:CPU.内存.网络.磁盘读写 2.系统对应的应用类型主要分为以下两种: IO Bound:一般都是高负荷的内存使用以及存储系统,IO范畴的应用就是一个大数据处理的过程:通常数据库软件 ...
- ps和top进程监控
一.名词解释 1.什么是进程(what is process)? 答:进程是程序运行的过程,伴有动态,生命和运行状态.(组成:1.已分配内存的地址空间 2.安全属性,包括所有权凭据和特权 3.程序 ...
- Linux - top命令监控列表的详细解析
统计信息区(系统资源信息区) 前五行,即列表上方的五行 第一行:输出系统任务队列信息 18:46:38:系统当前时间 up 2days 1:54:系统开机后到现在的总运行时间 1 user:当前登录用 ...
- linux视频学习5(top, 网络监控
top命令的详解: 1. top :动态监控进程. 第一行:当前系统时间: up 4days :服务器启动后的持续时间. 5 user 当前服务器上的用户数目 ; load average :负载 ...
- docker轻量级监控-sysdig
sysdig Sysdig = system(系统)+dig(挖掘).Sysdig 是一个开源系统发掘工具,用于系统级别的勘察和排障,可以把它看作一系列Linux系统工具的组合,主要包括: strac ...
- JVM值内存垃圾回收监控之jstat
如何判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为top主要监控的是总体的系统资源,很难定位到java应用程序. Jstat是JDK自带的一个轻量级小工具.全称“Java ...
- linux Nagios监控
监控目标 监控目标主机分为四个部分 硬件资源 操作系统 数据库 应用软件 监控目的: 进行服务器性能调整前,知道调整什么,系统瓶颈在什么地方 被一部分必须同时监控,内容包括吞吐量,反应时间,使用率等 ...
随机推荐
- 回溯法 | 图的m着色问题
学习链接:算法 图的M着色问题 虽然今早9点才醒来,10点才来教室,但是coding得很高效.吃个早餐,拉个粑粑的时间,就把算法书上的[图的m着色]问题看明白了,大脑里也形成了解决问题的框架. 其实这 ...
- 第02组Beta冲刺(2/4)
队名:十一个憨批 组长博客 作业博客 组长黄智 过去两天完成的任务:了解整个游戏的流程 GitHub签入记录 接下来的计划:继续完成游戏 还剩下哪些任务:完成游戏 燃尽图 遇到的困难:没有美术比较好的 ...
- Codeforces Global Round 3 题解
这场比赛让我上橙了. 前三题都是大水题,不说了. 第四题有点难想,即使想到了也不能保证是对的.(所以说下面D的做法可能是错的) E的难度是 $2300$,但是感觉很简单啊???说好的歪果仁擅长构造的呢 ...
- [BUAA软工]团队贡献分博客
Gamma阶段贡献分 Beta阶段贡献分 Alpha阶段贡献分 (博客最后部分) 复制过来: Alpha阶段 名字 角色 具体的可衡量的可验证的贡献 zpj PM,后端开发 博客X3 65 commi ...
- SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用
这条警告表明一个SQL Server代理设置没有配置,可能阻止某些作业运行. 你可以设置作业在CPU“空闲”时运行(在第一篇提到过).然而,在这个系统中空闲的定义还没有被 设置. 在SSMS配置此选项 ...
- button 在chrome浏览器下被点击时会出现一个橙色的边框
问题描述: button在chrome浏览器下被点击时会出现一个橙色的边框 在button上添加 :focus{outline:none;}也无法解决. 解决办法: 在button上添加 :focus ...
- SourceTree安装
SourceTree安装教程 作为程序员,不可避免的要在github上查询代码,而在企业项目中,为了使得项目好管理需要使用项目管理客户端,所以接下来详细讲解一下基于git的sourceTree在win ...
- Maven 教程(6)— Maven之pom.xml文件简单说明
原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79543963 通过前面几部分知识,我们对maven已经有了初步的印象,就像Mak ...
- Feign实现自定义错误处理
关键操作 实现ErrorDecoder接口 问题和背景 最近项目中在大量使用Feign和OkHttp作为http客户端使用,开发效率得到显著的提升.但也面临一些问题,比如每个下游系统的异常返回方式不同 ...
- 简洁的 Python Schema
目录 Python Schema使用说明 1. Schema是什么? 2. 安装 1. 给Schema类传入类型(int.str.float等) 2. 给Schema类传入可调用的对象(函数.带__c ...