top命令详解
http://blog.csdn.net/Sunboy_2050/archive/2011/01/11/6129177.aspx
Linux下的top命令的图解使用 收藏
查看多核CPU命令
mpstat -P ALL 和 sar -P ALL
说明:sar -P ALL > aaa.txt 重定向输出内容到文件 aaa.txt
top命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命
令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的
曲解。
本文通过一个运行中的WEB服务器的top监控截图,讲述top视图中的各种数据的含义,
还包括视图中各进程(任务)的字段的排序。
top进入视图
top视图 01
【top视图 01】是刚进入top的基本视图,我们来结合这个视图讲解各个数据的含义。
第一行:
10:01:23 — 当前系统时间
126 days, 14:29 — 系统已经运行了126天14小时29分钟(在这期间没有重启过)
2 users — 当前有2个用户登录系统
load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟
的负载情况。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如
果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
第二行:
Tasks — 任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休
眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行:cpu状态
6.7% us — 用户空间占用CPU的百分比。
0.4% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
92.9% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比
在这里CPU的使用比率和windows概念不同,如果你不理解用户空间和内核空间,需要充
充电了。
第四行:内存状态
8306544k total — 物理内存总量(8GB)
7775876k used — 使用中的内存总量(7.7GB)
530668k free — 空闲内存总量(530M)
79236k buffers — 缓存的内存量 (79M)
第五行:swap交换分区
2031608k total — 交换区总量(2GB)
2556k used — 使用的交换区总量(2.5M)
2029052k free — 空闲交换区总量(2GB)
4231276k cached — 缓冲的交换区总量(4GB)
这里要说明的是不能用windows的内存概念理解这些数据,如果按windows的方式此台服
务器“危矣”:8G的内存总量只剩下530M的可用内存。Linux的内存管理有其特殊性,复
杂点需要一本书来说明,这里只是简单说点和我们传统概念(windows)的不同。
第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)
是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使
用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,
因此在linux上free内存会越来越少,但不用为此担心。
如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的
buffers + 第五行的cached,按这个公式此台服务器的可用内存:530668+79236+4231276 =
4.7GB。
对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不
断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。
第六行是空行
第七行以下:各进程(任务)的状态监控
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
多U多核CPU监控
在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况:
top视图 02
观察上图,服务器有16个逻辑CPU,实际上是4个物理CPU。
进程字段排序
默认进入top时,各进程是按照CPU的占用量来排序的,在【top视图 01】中进程ID为
14210的java进程排在第一(cpu占用100%),进程ID为14183的java进程排在第二(cpu
占用12%)。可通过键盘指令来改变排序字段,比如想监控哪个进程占用MEM最多,我一
般的使用方法如下:
1. 敲击键盘“b”(打开/关闭加亮效果),top的视图变化如下:
top视图 03
我们发现进程id为10704的“top”进程被加亮了,top进程就是视图第二行显示的唯一的
运行态(runing)的那个进程,可以通过敲击“y”键关闭或打开运行态进程的加亮效果。
2. 敲击键盘“x”(打开/关闭排序列的加亮效果),top的视图变化如下:
top视图 04
可以看到,top默认的排序列是“%CPU”。
3. 通过”shift + >”或”shift + <”可以向右或左改变排序列,下图是按一次”shift + >”的
效果图:
top视图 05
视图现在已经按照%MEM来排序了。
改变进程显示字段
1. 敲击“f”键,top进入另一个视图,在这里可以编排基本视图中的显示字段:
top视图 06
这里列出了所有可在top基本视图中显示的进程字段,有”*”并且标注为大写字母的字段
是可显示的,没有”*”并且是小写字母的字段是不显示的。如果要在基本视图中显示“CODE”
和“DATA”两个字段,可以通过敲击“r”和“s”键:
top视图 07
2. “回车”返回基本视图,可以看到多了“CODE”和“DATA”两个字段:
top视图 08
top命令的补充
top命令是Linux上进行系统监控的首选命令,但有时候却达不到我们的要求,比如当前这
台服务器,top监控有很大的局限性。这台服务器运行着websphere集群,有两个节点服务,
就是【top视图 01】中的老大、老二两个java进程,top命令的监控最小单位是进程,所以
看不到我关心的java线程数和客户连接数,而这两个指标是java的web服务非常重要的指
标,通常我用ps和netstate两个命令来补充top的不足。
监控java线程数:
ps -eLf | grep java | wc -l
监控网络客户连接数:
netstat -n | grep tcp | grep 侦听端口 | wc -l
上面两个命令,可改动grep的参数,来达到更细致的监控要求。
在Linux系统“一切都是文件”的思想贯彻指导下,所有进程的运行状态都可以用文件来获
取。系统根目录/proc中,每一个数字子目录的名字都是运行中的进程的PID,进入任一个
进程目录,可通过其中文件或目录来观察进程的各项运行指标,例如task目录就是用来描
述进程中线程的,因此也可以通过下面的方法获取某进程中运行中的线程数量(PID指的是
进程ID):
ls /proc/PID/task | wc -l
在linux中还有一个命令pmap,来输出进程内存的状况,可以用来分析线程堆栈:
pmap PID
======================================================================
===========
拓展参考:
TOP命令详解
linux下top命令参数解释
图解linux下的top命令的使用
本文来自CSDN博客,转载请标明出处:
http://blog.csdn.net/Sunboy_2050/archive/2011/01/11/6129177.aspx
top命令参数
top命令参数top令是Linux统中一种管理工具,能够帮助用户了解系统中活动进程的情况,并且能够查看 CPU用、内存占用等信息。
它有许多有用的参数,可以使用它来更有效地管理系统。
本文将介绍 top 令的常用参数,以及它们的功能。
1. -b数此参数用于将 top令的输出结果以批量模式输出,这样可以方便地将 top令的结果保存到文件中,如:top -b > result.txt。
2. -d数此参数用于将 top令的刷新间隔设置为指定的秒数,如:top -d 5,此时 top令的刷新频率将设置为每 5刷新一次。
3. -n数此参数用于设置 top令刷新的次数,如:top -n 5,则 top只刷新 5,然后退出。
4. -c数此参数用于显示调用的参数,常用于展示每个进程的参数,如:top -c。
5. -p数此参数用于显示指定的进程号,如:top -p 1234,将只显示进程号为 1234进程信息。
6. -H数此参数用于显示每个线程的状态,如:top -H,将展示当前正在运行的所有线程的信息。
7. -u数此参数用于指定用户名,如:top -u root,只显示使用 root 户所创建的进程。
8. -m数此参数用于显示内存占用情况,如:top -m,将按照内存的使用量对进程进行排序,展示内存占用最多的进程。
9. -i数此参数用于将进程输出结果中不显示僵死进程,如:top -i)。
10. -S数此参数用于将 top令的输出结果设置为停止模式,此模式下top令会展示当前系统中运行的进程,并且不会更新,如:top -S,将只显示当前系统中运行的进程,但不会更新。
以上就是 top令常用参数的介绍。
top令是 Linux统中常用的管理工具,它可以帮助用户更有效率地管理系统,本文介绍了 top 令常用参数,包括:-b数、-d数、-n数、-c数、-p数、-H数、-u 数、-m数、-i数和 -S数,并介绍了它们的使用方法,只要掌握了这些参数,用户就可以更有效率地管理系统。
top命令常用参数
top命令常用参数
top命令是一个非常有用的实用程序,用于实时监视系统的进程和系统性能。
以下是top命令的一些常用参数:
1. -d <秒数>:指定top命令的刷新间隔,即更新显示的时间间隔。
2. -n <次数>:设置top命令刷新的次数。
例如,top -n 5将top 命令输出显示5次后自动退出。
3. -b:以批处理模式运行top命令,适用于将top输出结果重定向到其他文件或处理流程中。
4. -i:关闭top命令的闪烁效果,有助于在终端中避免闪烁。
5. -p <进程ID>:仅显示指定进程ID的信息,例如top -p 1234将只显示进程ID为1234的信息。
6. -U <用户名>:只显示特定用户名的进程信息。
7. -u <用户名>:只显示属于特定用户名的进程信息,同时可以与-p 参数一起使用。
8. -c:显示完整的命令行而不是截断显示。
9. H:显示线程信息,通常在多线程应用程序中很有用。
10. k:弹出一个对话框,允许用户终止一个选定的进程。
11. q:退出top命令。
linux top命令参数及使用方法详解
多核CPU 监控在top 基本视图中,按键盘数字“1”,可监控每个逻辑CPU 的状况。
统计信息区前五行是系统整体的统计信息。
第一行是任务队列信息,同 uptime 命令的执行结果。
其内容如下:10:37:35当前时间 up 25 days, 17:29系统运行时间,格式为时:分 1 user 当前登录用户数load average: 0.00, 0.02, 0.05 系统负载,即任务队列的平均长度。
三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第二、三行为进程和CPU的信息。
当有多个CPU时,这些内容可能会超过两行。
内容如下:Tasks: 104 total 进程总数1 running 正在运行的进程数103 sleeping 睡眠的进程数0 stopped 停止的进程数0 zombie 僵尸进程数Cpu(s): 0.1%us 用户空间占用CPU百分比0.0%sy 内核空间占用CPU百分比0.0%ni 用户进程空间内改变过优先级的进程占用CPU百分比99.9%id 空闲CPU百分比0.0%wa 等待输入输出的CPU时间百分比0.0% hi0.0% si0.0%st最后两行为内存信息。
内容如下:Mem: 2067816ktotal物理内存总量2007264k used 使用的物理内存总量60552k free 空闲内存总量73752k buffers 用作内核缓存的内存量Swap: 524284ktotal交换区总量315424k used 使用的交换区总量208860k free 空闲交换区总量625832k cached 缓冲的交换区总量。
内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。
相应的内存再次被换出时可不必再对交换区写入。
进程信息区统计信息区域的下方显示了各个进程的详细信息。
首先来认识一下各列的含义。
linux的top命令参数详解
linux的top命令参数详解简介top命令是Linux下常⽤的性能分析⼯具,能够实时显⽰系统中各个进程的资源占⽤状况,类似于Windows的任务管理器。
top显⽰系统当前的进程和其他状况,是⼀个动态显⽰过程,即可以通过⽤户按键来不断刷新当前状态.如果在前台执⾏该命令,它将独占前台,直到⽤户终⽌该程序为⽌. ⽐较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显⽰系统中CPU最“敏感”的任务列表.该命令可以按CPU使⽤.内存使⽤和执⾏时间对任务进⾏排序;⽽且该命令的很多特性都可以通过交互式命令或者在个⼈定制⽂件中进⾏设定.下⾯详细介绍它的使⽤⽅法。
参数含义top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombieCpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% siMem: 191272k total, 173656k used, 17616k free, 22052k buffersSwap: 192772k total, 0k used, 192772k free, 123988k cachedPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMANDroot 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshdroot 16 0 2128 980 796 R 0.7 0.5 0:02.72 toproot 16 0 1992 632 544 S 0.0 0.3 0:00.90 initroot 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0统计信息区前五⾏是系统整体的统计信息。
Linuxtop命令详解
Linux top命令详解top命令是最流行的性能工具之一。
大多数系统管理员运行top查看Linux 和UNIX系统的运行情况。
top实用工具提供一种监视进程和Linux整体性能的理想方法。
将Linux进程称作任务更准确,但是在本章中我们还是将它们称作进程,因为这个工具也这样称呼它们。
1普通用户和root用户都可以运行top。
图3-1显示一个空闲系统的典型top输出。
图3-1 top输出top显示有两个部分。
大约前三分之一显示关于Linux的整体信息,其余行为各个进程信息。
如果扩展窗口则显示更多进程而填充整个屏幕。
更全面的Linux信息可以通过使用top之外的几个命令来得到。
不过,通过一个命令在一个屏幕上显示所有信息比较理想。
第一行显示最近1分钟、5分钟和15分钟的负载平均值。
负载平均值表示在CPU上运行或者等待运行多少进程。
uptime命令也可以用来显示负载平均值。
接下来是进程信息,之后是CPU、内存和交换区。
内存和交换区信息与free命令输出类似。
在我们确定内存和CPU使用之后的下一个问题是哪些进程正在使用它。
大部分进程信息也可以通过ps命令得到,但是top提供一种更易于阅读的格式。
最有用的是用于提供帮助的h,它列出top的其他交互式命令。
3.1.1 添加和移除字段字段可以从显示中添加或移除。
进程输出可以按照CPU、内存或者其他指标排序。
这是一个查看什么进程抢夺内存的理想方法。
各个Linux发布版本的top 语法和交互式选项不同,帮助命令可以快速列出什么命令可用。
有许多交互式选项可用,用户应该花费一些时间来试验它们。
图3-2显示Red Hat Enterprise Linux ES release 3的帮助屏幕。
图3-2 top的帮助屏幕f命令用来从top输出中添加或者移除字段。
图3-3是一个Red Hat Enterprise Linux ES release 3的帮助屏幕,显示什么字段可以添加。
Linux系统shell之top命令详解
Linux系统shell之top命令详解top命令是Linux下常⽤的性能分析⼯具,能够实时显⽰系统中各个进程的资源占⽤状况,类似于Windows的任务管理器。
下⾯详细介绍它的使⽤⽅法。
top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombieCpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% siMem: 191272k total, 173656k used, 17616k free, 22052k buffersSwap: 192772k total, 0k used, 192772k free, 123988k cachedPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd14704 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top1 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/03 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0统计信息区前五⾏是系统整体的统计信息。
第⼀⾏是任务队列信息,同 uptime 命令的执⾏结果。
其内容如下:01:06:48 当前时间up 1:22 系统运⾏时间,格式为时:分1 user 当前登录⽤户数load average: 0.06, 0.60, 0.48 系统负载,即任务队列的平均长度。
Linuxtop命令详解
Linuxtop命令详解top命令是Linux下常⽤的性能分析⼯具,能够实时显⽰系统中各个进程的资源占⽤状况,类似于Windows的任务管理器top参数详解第⼀⾏,任务队列信息,同 uptime 命令的执⾏结果系统时间:07:27:05运⾏时间:up 1:57 min,当前登录⽤户: 3 user负载均衡(uptime) load average: 0.00, 0.00, 0.00average后⾯的三个数分别是1分钟、5分钟、15分钟的负载情况。
load average数据是每隔5秒钟检查⼀次活跃的进程数,然后按特定算法计算出的数值。
如果这个数除以逻辑CPU的数量,结果⾼于5的时候就表明系统在超负荷运转了第⼆⾏,Tasks — 任务(进程)总进程:150 total, 运⾏:1 running, 休眠:149 sleeping, 停⽌: 0 stopped, 僵⼫进程: 0 zombie第三⾏,cpu状态信息0.0%us【user space】— ⽤户空间占⽤CPU的百分⽐。
0.3%sy【sysctl】— 内核空间占⽤CPU的百分⽐。
0.0%ni【】— 改变过优先级的进程占⽤CPU的百分⽐99.7%id【idolt】— 空闲CPU百分⽐0.0%wa【wait】— IO等待占⽤CPU的百分⽐0.0%hi【Hardware IRQ】— 硬中断占⽤CPU的百分⽐0.0%si【Software Interrupts】— 软中断占⽤CPU的百分⽐第四⾏,内存状态1003020k total, 234464k used, 777824k free, 24084k buffers【缓存的内存量】第五⾏,swap交换分区信息2031612k total, 536k used, 2031076k free, 505864k cached【缓冲的交换区总量】备注:可⽤内存=free + buffer + cached对于内存监控,在top⾥我们要时刻监控第五⾏swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进⾏内存和swap的数据交换,这是真正的内存不够⽤了。
linuxtop的用法
linuxtop的用法Linux中的top命令是一个非常强大的系统监控工具,可以实时显示系统中运行的进程以及它们的资源使用情况。
下面是有关top命令的详细说明,包括基本用法、常用选项和解释。
用法:要运行top命令,只需在终端中输入“top”即可。
默认情况下,top 会按照CPU使用率进行排序,并显示系统中正在运行的进程列表。
1.实时刷新:top命令默认情况下会每隔3秒刷新一次进程列表和监控数据。
可以通过在命令行中输入数字来修改刷新间隔。
例如,“top 5”表示每5秒刷新一次。
2.排序:按各种不同的方式对进程进行排序。
通过按键“M”按内存使用率排序,按键“P”按CPU使用率排序,按键“T”按时间进行排序。
3.结束进程:在top命令中,可以通过按下“k”键来终止一个进程。
然后会要求输入进程ID,并询问是否终止该进程。
输入要终止的进程ID,然后按回车键。
4.显示特定用户:top命令可以过滤显示特定用户的进程。
只需在命令行中输入“top -u 用户名”即可。
5.显示特定进程:使用“-p”选项来显示top中指定的进程。
例如,“top -p 1234”会显示进程ID为1234的进程。
常用选项:1. -b:以批处理模式运行top,将输出直接存储到文件中而不是在终端中显示。
2.-d:指定刷新时间间隔,单位为秒。
例如,“-d5”表示每5秒刷新一次。
3.-n:指定刷新次数。
例如,“-n10”表示只刷新10次。
4.-p:指定要显示的进程ID。
多个进程ID之间用逗号分隔。
5.-u:指定要显示的用户。
6.-H:显示进程的层次结构。
解释:下面是top命令输出的一些常见列的解释:1.PID:进程的唯一标识符。
ER:启动进程的用户名。
3.PR:进程的优先级。
4.NI:进程的优先级变化。
5.VIRT:进程使用的虚拟内存大小。
6.RES:进程使用的物理内存大小。
7.SHR:进程使用的共享内存大小。
8.S:进程的状态(S表示睡眠,R表示运行,Z表示僵尸)。
top命令的用法
top命令的用法Top命令是Linux系统中一个非常常用的命令,它可以用来监控系统的运行状态,查看系统中正在运行的进程以及它们的资源占用情况。
在本文中,我们将详细介绍Top命令的用法和相关参数。
一、Top命令的基本用法Top命令的基本用法非常简单,只需要在终端中输入top即可。
执行该命令后,会显示出当前系统中正在运行的进程列表,以及它们的资源占用情况。
Top命令默认按照CPU占用率进行排序,最占用CPU资源的进程会排在最上面。
Top命令的输出结果包括以下几个部分:1. 第一行:显示系统的运行时间、当前登录用户数、系统负载等信息。
2. 第二行:显示进程总数、运行中的进程数、睡眠中的进程数、停止的进程数等信息。
3. 第三行:显示CPU的使用情况,包括用户空间占用率、系统空间占用率、空闲率等信息。
4. 第四行:显示内存的使用情况,包括总内存、已用内存、空闲内存、缓存等信息。
5. 进程列表:显示当前系统中正在运行的进程列表,包括进程ID、进程所属用户、进程占用CPU资源的百分比、进程占用内存的百分比等信息。
二、Top命令的常用参数除了基本用法外,Top命令还支持一些参数,可以用来控制输出结果的格式和内容。
下面是Top命令的常用参数:1. -d:指定Top命令的刷新时间,单位为秒。
例如,top -d 5表示每隔5秒刷新一次输出结果。
2. -n:指定Top命令的输出次数。
例如,top -n 10表示输出10次Top命令的结果后自动退出。
3. -p:指定要监控的进程ID。
例如,top -p 1234表示只监控进程ID为1234的进程。
4. -u:指定要监控的用户。
例如,top -u root表示只监控属于root用户的进程。
5. -H:显示进程的层次结构。
例如,top -H表示显示进程的层次结构,可以看到进程之间的父子关系。
6. -i:不显示闲置进程。
例如,top -i表示不显示CPU占用率为0的进程。
7. -c:显示完整的命令行。
top 指定内存单位 参数
top 指定内存单位参数
"top" 命令是一个用于监视系统进程的实用程序。
在这个命令中,可以使用不同的参数来指定内存单位。
常见的参数包括:
1. -o RES,按照内存占用排序进程。
这个参数可以让你查看哪些进程占用了最多的内存。
RES代表的是实际使用的物理内存。
2. -O VIRT,按照虚拟内存占用排序进程。
虚拟内存是指操作系统为进程分配的虚拟地址空间,它包括实际的物理内存和交换空间。
3. -s,按照内存占用排序进程,并且持续显示。
这个参数可以让你实时监视内存占用情况。
4. -l n,设置显示的进程数目。
通过指定n来限制显示的进程数目,这样可以让你集中关注最占用内存的进程。
5. -F,用于显示更多关于进程的字段,包括内存占用情况、命令行等信息。
在使用这些参数时,可以结合使用不同的单位来指定内存大小,常见的内存单位包括KB、MB、GB等。
例如,可以使用“top -o RES -F -s -l 10”来实时监视内存占用情况,并且按照实际内存占用排
序显示前10个进程。
总之,在使用 "top" 命令时,通过合理选择参数和内存单位,
可以更好地监视系统内存占用情况,及时发现并解决内存占用过高
的问题。
