Linux 命令 --- top

top命令简介

top命令--实时动态地查看系统的整体运行情况,

 

1. 第一排: 系统运行情况,跟 uptime 命令显示一样 。

      uptime会在一行中显示下列信息:当前时间、系统运行了多久时间、当前登录的用户有多少,以及前 1、5 和 15 分钟系统的平均负载。

2. 第二排:进程信息统计,total   进程总数;  running  正在运行的进程数;  sleeping   睡眠的进程数;   stopped  停止的进程数;  zombie  僵尸进程数。

3. 第三排:CPU信息统计,0.6%us, 用户占用CPU百分比;  0.9%sy,  内核空间占用CPU百分比; 0.0%ni,  用户进程空间内改变过优先级的进程占用CPU百分比;

             98.5%id, 空闲CPU百分比;     0.0%wa, 等待输入输出的CPU时间百分比;   0.0%hi, 硬件CPU中断占用百分比  ;

                                            0.0%si, 软中断占用百分比    ;  0.0%st   虚拟机(虚拟化技术)占用百分比;

4. 第四、五排:内存信息系统统计;  

    Men:
      257940M total:  物理内存总量
      236667M used:   使用的物理内存总量
      21273M free:     空闲内存总量
      2714M buffers:  用作内核缓存的内存量

       Swap:

      0M  total:       交换区总量
      0M  used:    使用的交换区总量
      0M free:         空闲交换区总量
      156967M cached:缓冲的交换区总量

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

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

接着下面的显示每个pid的具体信息:

显示的信息开头通过 f 命令,进入显示信息添加或者删除操作;大写是添加,小写是隐藏;

序号     列名         含义
a    PID      进程id
b    PPID      父进程id
c    RUSER     Real user name
d    UID           进程所有者的用户id
e    USER       进程所有者的用户名
f    GROUP     进程所有者的组名
g    TTY       启动进程的终端名。不是从终端启动的进程则显示为 ?
h    PR       优先级
i    NI         nice值。负值表示高优先级,正值表示低优先级
j    P          最后使用的CPU,仅在多CPU环境下有意义
k    %CPU      上次更新到现在的CPU时间占用百分比
l    TIME      进程使用的CPU时间总计,单位秒
m    TIME+     进程使用的CPU时间总计,单位1/100秒
n    %MEM      进程使用的物理内存百分比
o    VIRT      进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
p    SWAP     进程使用的虚拟内存中,被换出的大小,单位kb。
q    RES       进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
r    CODE     可执行代码占用的物理内存大小,单位kb
s    DATA       可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
t    SHR      共享内存大小,单位kb
u    nFLT      页面错误次数
v    nDRT      最后一次写入到现在,被修改过的页面数。
w    S        进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
x    COMMAND  命令名/命令行
y    WCHAN    若该进程在睡眠,则显示睡眠中的系统函数名
z    Flags      任务标志,参考 sched.h

==========================================================

2.  top命令+选项

进入到动态显示系统性能显示界面之前,top + 一些选项能更好的展示。

【选项】

 

  d  指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。 
  p  通过指定监控进程ID来仅仅监控某个进程的状态。 
  # q  该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。 
  S  指定累计模式 
  s  使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。 
  i  使top不显示任何闲置或者僵死进程。 
  c  显示整个命令行而不只是显示命令名

常用操作

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的进程的资源使用情况,并显式该进程启动的命令行参数

 

3. top命令进入后,交互命令的使用

【注意事项:

下面介绍在top命令执行过程中可以使用的一些交互命令。从使用角度来看,熟练的掌握这些命令比掌握选项还重要一些。
这些命令都是单字母的,如果在命令行选项中使用了s安全模式选项,则可能其中一些命令会被屏蔽掉。
 
按 h 键:

Z,B  Global: 'Z' change color mappings; 'B' disable/enable bold
      'Z'修改颜色配置;'B':关闭/开启粗体
l,t,m    Toggle Summaries: 'l' load avg; 't' task/cpu stats; 'm' mem info
          关闭或打开:'l'负载;“t”任务/ cpu统计数据;“m”mem信息
1,I    Toggle SMP view: '1' single/separate states; 'I' Irix/Solaris mode
      1:单行/多行显示CPU信息;I:Irix/Solaris模式切换
f,o . Fields/Columns: 'f' add or remove; 'o' change display order
      f:列显示控制;o:列排序控制,按字母进行调整
F or O . Select sort field
     选择排序列
       <,> . Move sort field: '<' next col left; '>' next col right
       <,> 左右排序移动 配合shift使用
R,H . Toggle: 'R' normal/reverse sort; 'H' show threads
           R:内容排序;H:显示线程
c,i,S . Toggle: 'c' cmd name/line; 'i' idle tasks; 'S' cumulative time
        c:COMMAND列命令名称与完整命令行路径切换;i:忽略闲置和僵死进程开关;S:累计模式切换
x,y . Toggle highlights: 'x' sort field; 'y' running tasks
         x:列排序;y:运行任务
z,b . Toggle: 'z' color/mono; 'b' bold/reverse (only if 'x' or 'y')
        z:颜色模式;b:粗体开关 仅适用于x,y模式中
u . Show specific user only
         u:按用户进行过滤
n or # . Set maximum tasks displayed
        n:设置进程最大显示条数
k,r Manipulate tasks: 'k' kill; 'r' renice
        k:终止一个进程;r:重新设置一个进程的优先级别
d or s Set update interval
       改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
W Write configuration file
       W:将当前设置写入~/.toprc文件中
q          Quit

一般操作

多U多核CPU监控

在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况:< 观察下图,服务器有16个逻辑CPU,实际上是4个物理CPU >
按 f 键
能对显示的项目进行选择,大写为显示,小写不显示。
 
原文地址:https://www.cnblogs.com/chenpython123/p/11061052.html