Linux性能监控分析命令(四)—top命令介绍
性能监控分析的命令包括如下:
1、vmstat
2、sar
3、iostat
4、top
5、free
6、uptime
7、netstat
8、ps
9、strace
10、lsof
=====================================================
命令介绍:
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
top命令能够实时监控系统的运行状态,并且可以安装CPU、内存和执行时间进行排序,同时top命令还可以通过交互式命令进行设定显示,通过top命令可以查看即时活跃的进程。
top命令用法:
top -hv | -abcHimMsS -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
=====================================================
命令行启动参数解释:
-b :批次模式运行。通过用来将TOP的输出的结果传送给其他程式或存储文件
-c:显示执行任务的命令行
-d:设定延迟时间
-h:帮助
-H:显示线程。当这个设定开启时,将显示所有进程产生的线程
-i:显示空闲的进程
-n:执行次数。一般与-b搭配使用
-u:监控指定用户相关进程
-U:监控指定用户相关进程
-p:监控指定的进程。当监控多个进程时,进程ID以逗号分隔。这个选项只能在命令行下使用
-s:安全模式操作
-S:累计时间模式
-v:显示top版本,然后退出
-M:自动显示内存单位(k/M/G)
=====================================================
下面介绍在top命令执行过程中可以使用的一些交互命令。从使用角度来看,熟练的掌握这些命令比掌握选项还重要一些。这些命令都是单字母的,如果在命令行选项中使用了s选项,则可能其中一些命令会被屏蔽掉。
top交互命令说明:

----------------------------------------------------------------------------------------
1、全局命令
回车、空格:刷新显示信息
?、h:帮助
=:移除所有任务显示的限制
A:交替显示模式切换
B:粗体显示切换
d、s:更改界面刷新时间间隔
G:选择其它窗口/栏位组
I:Irix或Solaris模式切换
u、U:监控指定用户相关进程
k:结束进程
q:退出top
r:重新设定进程的nice值
W:存储当前设定
Z:改变颜色模板
2、摘要区命令
l:字母l,平均负载及系统运行时间显示开关
m:内存及交换空间使用率显示开关
t:当前任务及CPU状态显示开关
1:数字1,汇总显示CPU状态或分开显示每个CPU状态
3、任务区命令
a) 外观样式
b:黑体/反色显示高亮的行/列。控制x和y交换命令的显示样式
x:高亮显示排序的列
y:高亮显示正在运行的任务
z:彩色/黑白显示
b) 显示内容
c:任务执行的命令行或进程名称
f、o:增加和移除进程信息栏位及调整进程信息栏位显示顺序
H:显示线程
S:时间累计模式
u:监控指定用户相关进程
c) 任务显示的数量
i:显示空闲的进程
n或#:设置任务显示最大数量
d) 任务排序(shift+f)
M:按内存使用率排序
N:按PID排序
P:按PID排序
T:按时间+排序
<:按当前排序栏位左边相邻栏位排序
>:按当前排序栏位右边相邻栏位排序
F或O:选择排序栏位
R:反向排序
=====================================================
top命令:

参数解释:
一、TOP前五行统计信息说明
1、第一行是任务队列信息,通uptime命令执行的结果一致。

内容说明:
|
00:17:40 |
当前时间 |
|
up 23:10 |
系统运行时间,格式为时:分 |
|
3 user |
当前登录用户数 |
|
load average: 0.20, 0.20, 1.56 |
系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值,它们的数字当然是越小越好。“有多少核心即为有多少负荷”法则: 在多核处理中,你的系统均值不应该高于处理器核心的总数量。 |
2、 第二、三行为进程和CPU的信息,当有多个CPU时,这些内容可能会超过两行。
内容说明:
|
Tasks: 740 total |
进程总数 |
|
1 running |
正在运行的进程数 |
|
738 sleeping |
睡眠的进程数 |
|
1 stopped |
停止的进程数 |
|
0 zombie |
僵尸进程数 |
|
%Cpu(s): 1.8 us |
用户空间占用CPU百分比 |
|
0.1% sy |
内核空间占用CPU百分比 |
|
0.1% ni |
用户进程空间内改变过优先级的进程占用CPU百分比 |
|
99.7% id |
空闲CPU百分比 |
|
0.0% wa |
等待输入输出的CPU时间百分比 |
|
0.0% hi |
硬中断(Hardware IRQ)占用CPU的百分比 |
|
0.0% si |
软中断(Software Interrupts)占用CPU的百分比 |
|
0.0% st |
(Steal time) 是当 hypervisor 服务另一个虚拟处 理器的时候,虚拟 CPU 等待实际 CPU 的时间的百分比 |
3、第四五行为内存信息
内容说明:
|
Mem : 16018732 total |
物理内存总量 |
|
9856504 used |
使用的物理内存总量 |
|
1749232 free |
空闲内存总量 |
|
4412996 buffers |
用作内核缓存的内存量 |
|
Swap: 33554428 total |
交换区总量 |
|
4324300 used |
使用的交换区总量 |
|
29230128 free |
空闲交换区总量 |
|
189640k cached |
缓冲的交换区总量。 内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖, 该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。 |
二、进程信息说明
|
列名 |
含义 |
|
PID |
进程id |
|
PPID |
父进程id |
|
RUSER |
Real user name |
|
UID |
进程所有者的用户id |
|
USER |
进程所有者的用户名 |
|
GROUP |
进程所有者的组名 |
|
TTY |
启动进程的终端名。不是从终端启动的进程则显示为 ? |
|
PR |
优先级 |
|
NI |
nice值。负值表示高优先级,正值表示低优先级 |
|
P |
最后使用的CPU,仅在多CPU环境下有意义 |
|
%CPU |
上次更新到现在的CPU时间占用百分比 |
|
TIME |
进程使用的CPU时间总计,单位秒 |
|
TIME+ |
进程使用的CPU时间总计,单位1/100秒 |
|
%MEM |
进程使用的物理内存百分比 |
|
VIRT |
进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES |
|
SWAP |
进程使用的虚拟内存中,被换出的大小,单位kb。 |
|
RES |
进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
|
CODE |
可执行代码占用的物理内存大小,单位kb |
|
DATA |
可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb |
|
SHR |
共享内存大小,单位kb |
|
nFLT |
页面错误次数 |
|
nDRT |
最后一次写入到现在,被修改过的页面数。 |
|
S |
进程状态。 D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 |
|
COMMAND |
命令名/命令行 |
|
WCHAN |
若该进程在睡眠,则显示睡眠中的系统函数名 |
|
Flags |
任务标志,参考 sched.h |
说明:默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。
可以通过快捷键更改显示内容:
(1)更改显示内容通过 f键可以选择显示的内容。
按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。
(2)按o键可以改变列的显示顺序。
按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。
按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序。而大写的 R 键可以将当前的排序倒转。
设置完按回车返回界面。
=====================================================
使用实例说明:
1、多核CPU监控
在top视图下,按数字键1,可以监控每个CPU的状态,如下图:

再次按数字键1则返回初始状态,如下图:

2、高亮显示当前运行的进程
输入字母'b'(打开/关闭加量效果),见下图:

我们发现进程id为117338的“top”进程被加亮了,top进程就是视图第二行显示的唯一的运行态(runing)的那个进程,可以通过敲击“y”/‘b’键关闭或打开运行态进程的加亮效果。
3、进程字段排序
默认进入top时,各进程是按照CPU的占用量来排序的,在下图中进程ID为3831的java进程排在第一(cpu占用4.6%),进程ID为154677的nxlog进程排在第二(cpu占用2.6%)

敲击键盘“x”(打开/关闭排序列的加亮效果),top的视图变化如下:

可以看到,top默认的排序列是“%CPU”;然后我们通过”shift + >”或”shift + <”可以向右或左改变排序列
下图是按一次”shift + >”的效果图,视图现在已经按照%MEM来排序。

4、显示 完整命令
#top -c
结果如下图:

5、以批处理模式显示程序信息
命令:top -b
6、以累积模式显示程序信息
命令:top -S
7、设置信息更新次数
命令:top -n 2 //表示更新两次后停止更新显示
8、设置信息更新时间
命令:top -d 3 //表示更新周期为3秒
9、显示指定的进程信息
命令:top -p 3921
显示结果如下:

=====================================================
参考文档:
http://blog.csdn.net/truelove12358/article/details/50502191
https://www.cnblogs.com/vurtne-lu/p/6550602.html
Linux性能监控分析命令(四)—top命令介绍的更多相关文章
- Linux性能监控分析命令(五)—free命令介绍
性能监控分析的命令包括如下:1.vmstat2.sar3.iostat4.top5.free6.uptime7.netstat8.ps9.strace10.lsof 命令介绍:free命令是监控Lin ...
- Linux性能监控分析命令(三)—iostat命令介绍
性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof 命令介绍: i ...
- Linux性能监控分析命令(二)—sar命令介绍
性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...
- linux性能监控分析及通过nmon_analyse生成分析报表
nmon是一款分析 AIX 和 Linux 性能的免费工具 nmon 工具还可以将相同的数据捕获到一个文本文件,便于以后对报告进行分析和绘制图形.输出文件采用电子表格的格式 (.csv). 性能介绍 ...
- 【转载】linux性能监控分析及通过nmon_analyse生成分析报表
转载地址:http://www.cnblogs.com/Lam7/p/6604832.html nmon是一款分析 AIX 和 Linux 性能的免费工具 nmon 工具还可以将相同的数据捕获到一个文 ...
- Linux性能监控分析命令
vmstat sar iostat top free uptime netstat ps strace lsof
- Linux性能监控分析命令(一)—vmstat命令详解
一.vmstat介绍 语法格式: vmstat [-V] [-n] [-S unit] [delay [count]] -V prints version. -n causes the headers ...
- Linux 性能监控分析
好文,参考 http://blog.csdn.net/hexieshangwang/article/details/47187185
- Linux 性能监控的18个命令行工具
对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保持系统启动并运行是多么的不容易.基于此原因,我 ...
随机推荐
- php中heredoc的使用方法
Heredoc技术,在正规的PHP文档中和技术书籍中一般没有详细讲述,只是提到了这是一种Perl风格的字符串输出技术.但是现在的一些论坛程序,和部分文章系统,都巧妙的使用heredoc技术,来部分的实 ...
- epoll测试实例
C++ Code 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 ...
- supervisor管理uwsgi
1. 前言 传统的管理uwsgi服务: 1. 通过shell脚本来编写start restart stop函数来控制 2. 比较麻烦,有时候控制写的烂,还会出现意想不到的错误 supervisor进行 ...
- Linux学习笔记:mv移动或文件重命名
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 语法:mv 源文件 目标文件 视mv命令中 ...
- WDK10+VS2015 驱动环境搭建
其实做驱动或者说底层安全的最大问题就是没有合适的资料去参考,网上很难找到想要的信息.比如搭建驱动环境我以前一直用的都是WDK7.1基于控制台去编译的,之前尝试过搭建WDK10+VS2015的组合环境, ...
- Proxy 代理
意图 为其他对象提供一种代理以控制对这个对象的访问 动机 对一个对象进行访问控制的原因是为了只有在我们确实需要这个对象时才对它进行创建和初始化 典型例子:智能指针的实现,通过引用计数来决定“=” 复制 ...
- Wpf使用Winform控件后Wpf元素被Winform控件遮盖问题的解决
有人会说不建议Wpf中使用Winform控件,有人会说建议使用Winform控件在Wpf下的替代方案,然而在实际工作中由于项目的特殊需求,考虑到时间.成本等因素,往往难免会碰到在WPF中使用Winfr ...
- Tomcat基于MSM+Memcached实现Session共享
简述 上一篇文章,分别演示了session sticky 和 session cluster来实现会话保持的问题,但是它们缺点都不少,实际中用的很少,所以这篇文章我们还是通过Tomcat来演示一下实际 ...
- Server sent passive reply with unroutable address. Using server address instead
最近在linux服务器安装vsftp服务.经过一轮设置,终于可以连接上了,用winSCP连接,刷新目录就提示这个错误. 解决办法: vim /etc/vsftpd.conf ,编辑配置文件,最后加上 ...
- 8-2 Building for UN Uva1605
题意:你的任务是设计一个包含若干层的联合国大楼,其中每层都是一个等大的网络 由若干个国家需要在联合国大楼里面办公 你需要把每个格子分配给一个国家 使得任意两个不同的国家都有一对相邻的格子 (要没是同 ...