首页 > 编程知识 正文

top命令怎么看,top命令作用是

时间:2023-05-05 01:17:21 阅读:49929 作者:1729

效用:

---实时动态地查看系统的整体运行情况,两个命令都是查看运行状况,但是htop更加易用---

TOP是一个动态的显示过程,用户可以通过按键不断更新当前状态。 在前台运行此命令将独占前台,直到用户退出程序。 更具体地,TOP命令实时提供对系统处理器的状态的监视。 这是系统中的CPU显示最“敏感”的任务列表。 CPU可以使用此命令。 可以按内存使用量和运行时间对任务进行排序; 此外,可以在交互式命令或个性化文件中设置此命令的许多特性

top工具界面信息介绍:

一、前五行为统计信息:

第1、1行为任务队列信息,与uptime命令的执行结果相同

其内容如下。

10:25:00当前时间

up 21:31系统运行时间,型号为时:分钟

4 users的当前登录用户数

loadaverage:00、0.00和0.00系统负载,或任务队列的平均长度。 3个数值分别是从1分钟、5分钟、15分钟前到现在的平均值。

2、第二行为过程信息统计数据

Tasks —任务(进程) otal进程总数

running正在运行的进程数

睡眠的过程数

已停止的进程数

zombie僵尸进程数第3、3行的CPU信息统计数据: CPU(s ) 0.0%us ) CPU使用率

核心(系统)空间的CPU利用率(0.3%sy )

0.0%ni :在用户进程区域内更改优先级的进程占用CPU的百分比

99.7%id :空闲CPU的百分比

0.0%wa :等待输入输出的CPU时间的比例

0.0%hi :硬件CPU中断占有率

0.0 %软中断占有率0.0%st (虚拟机)虚拟化技术)占有率第4、4和5行内存信息系统数据(Men: 1004768k total )物理内存总量

463092 k使用:使用的物理内存总数

541676k free :可用内存总量

64316k buffers :用作内核缓存的内存量

Swap:

694268 k总容量:交换空间总量

0 k使用:要使用的交换空间总量

694268 k自由:可用交换空间总量

224884k cached :缓冲区的交换空间总量(内存中的数据被移动至交换区而后又被送至内存空间,但是使用过的交换区尚未被覆盖,其空间大小即为这些数据已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再次对交换区写入)。

内存空间还剩多少空闲呢?

  totalfree = free 541676 + buffer64316 + cached 224884 (即:空闲内存 = 空闲内存总量 + 内核缓存的内存量 + 缓冲的交换区总量)

6、过程信息区统计信息区下方显示各过程的详细信息

列名的含义

aPID进程idbPPID父进程IDC ruser real user命名uid进程所有者用户ideUSER进程所有者用户名f组进程所有者组名启动gTTY进程的终端名称。 如果不是从终端启动的进程,会显示? hPR优先级iNI nice的值。 负值为高优先级,正值为低优先级的jP上次使用的CPU、从上次更新仅在多CPU环境中有意义的k%CPU到目前为止的CPU时间占有率lTIME进程使用的CPU时间的总和、每秒mTIME进程使用的CPU时间的总和、单位VIRT=SWAP RESpSWAP进程使用的虚拟内存,交换的大小,单位kb。 QES进程使用的未交换的物理内存的大小。 单位千字节。 RES=代码数据代码可执行代码消耗物理内存大小、单位kbs数据可执行代码以外的部分(数据段堆栈)消耗的物理内存大小、单位kbtSH

R 共享内存大小,单位kbu  nFLT 页面错误次数v  nDRT 最后一次写入到现在,被修改过的页面数。w  S 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)x  COMMAND 命令名/命令行y  WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名z  Flags 任务标志,参考 sched.h

  【备注:默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过下面的快捷键来更改显示内容】

 

top工具的使用方法:

top工具到两种使用方法:
  1、命令行加选项。其语法格式:top [选项]  2、top工具的内置命令或交互命令的使用

1、命令行加选项。

  其语法格式:top [-选项]

 下面列出了常用的选项,想查看具体的使用方法请使用man文档查看

【选项】

  d  指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。 
  p  通过指定监控进程ID来仅仅监控某个进程的状态。 
  q  该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。 
  S  指定累计模式 
  s  使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。 
  i  使top不显示任何闲置或者僵死进程。    c  显示整个命令行而不只是显示命令名     2、top工具的内置命令或交互命令的使用     【注意事项: 下面介绍在top命令执行过程中可以使用的一些交互命令。从使用角度来看,熟练的掌握这些命令比掌握选项还重要一些。这些命令都是单字母的,如果在命令行选项中使用了s安全模式选项,则可能其中一些命令会被屏蔽掉。 】 常用命令选项: f : 选择显示或隐藏对应的列的内容,进入后按a-z即可显示或隐藏o: 可以改变列的显示顺序,进入后按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。F或O: 进入后按a-z可以将进程按照相应的列进行排序,选定排序列按回车键退出之后还可以按R对当前选定列进行排序倒转。k : 终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽i: 忽略闲置和僵死进程。这是一个开关式命令q: 退出程序S: 切换到累计模式。s : 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加r: 重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。l:  切换显示平均负载和启动时间信息。即显示影藏第一行m: 切换显示内存信息。即显示影藏内存行t : 切换显示进程和CPU状态信息。即显示影藏CPU行c: 切换显示命令名称和完整命令行。 显示完整的命令。 这个功能很有用。M : 根据驻留内存大小进行排序。P: 根据CPU使用百分比大小进行排序。T: 根据时间/累计时间进行排序。W: 将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法h或者? 显示帮助画面,给出一些简短的命令总结说明

如果想查看top工具的更多内置交互命令方法: h或者? 

Z,B Global: 'Z' change color mappings; 'B' disable/enable bold l,t,m Toggle Summaries: 'l' load avg; 't' task/cpu stats; 'm' mem info 1,I Toggle SMP view: '1' single/separate states; 'I' Irix/Solaris mode f,o . Fields/Columns: 'f' add or remove; 'o' change display order F or O . Select sort field <,> . Move sort field: '<' next col left; '>' next col right R,H . Toggle: 'R' normal/reverse sort; 'H' show threads c,i,S . Toggle: 'c' cmd name/line; 'i' idle tasks; 'S' cumulative time x,y . Toggle highlights: 'x' sort field; 'y' running tasks z,b . Toggle: 'z' color/mono; 'b' bold/reverse (only if 'x' or 'y') u . Show specific user only n or # . Set maximum tasks displayed k,r Manipulate tasks: 'k' kill; 'r' renice d or s Set update interval W Write configuration file q Quit ( commands shown with '.' require a visible task display window )

工具使用示例:

示例1: top工具的常用操作 top   //每隔5秒显式所有进程的资源占用情况top -d 2 //每隔2秒显式所有进程的资源占用情况top -c //每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)top -p 12345 -p 6789//每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况top -d 2 -c -p 123456 //每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数

示例2:多U多核CPU监控

在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况:< 观察下图,服务器有16个逻辑CPU,实际上是4个物理CPU >     示例3: 进程字段排序

       默认进入top时,各进程是按照CPU的占用量来排序的,在【示例2图】中进程ID为12292的top进程并列排在第一(cpu占用0.3%)。可通过键盘指令来改变排序字段,比如想监控哪个进程占用MEM最多,一般的使用方法如下:

1. 敲击键盘“b”(打开/关闭加亮效果),top的视图变化如下:

  我们发现进程id为12292的“top”进程被加亮了,top进程就是视图第二行显示的唯一的运行态(runing)的那个进程,可以通过敲击“y”键关闭或打开运行态进程的加亮效果。

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

  可以看到,top默认的排序列是“%CPU”。

3. 通过”shift + >”或”shift + <”可以向右或左改变排序列,下图是按一次”shift + >”的效果图:

  视图现在已经按照%MEM来排序了。再次点击“x”就可以取消加亮效果了。

示例4:改变进程的显示字段

1. 敲击“f”键,top进入另一个视图,在这里可以编排基本视图中的显示字段:

使用小写字母选择字段,字段前面没有加 “ * ” 号的介绍没有显示的字段,我们加上 “ * ” 号就可以追加字段了。

示例5:杀死进程

  直接输入k键,再次输入我们需要杀死的进程的PID号回车,

  会提示:Kill PID 12160 with signal [15]:   

    如果我们直接回车,他会默认以15的信号杀死该进程,如果我们想对该进程摄入其他信号,则直接输入信号对应的数字就行了

 

top命令的补充

  top命令是Linux上进行系统监控的常用命令,但有时候却达不到我们的要求(我们也可以使用htop命令),比如当前这台服务器,top监控有很大的局限性。这台服务器运行着websphere集群,有两个节点服务,如有两个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

 

参考文章:https://www.jb51.net/article/40807.htm

       

转载于:https://www.cnblogs.com/l75790/p/9196905.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。