性能监控工具:top

2019-07-29  本文已影响0人  LittleJessy

一. 字段介绍

默认情况下top命令仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。

# top
top - 14:10:45 up 3 days, 21:54,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 109 total,   1 running, 107 sleeping,   1 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.2 sy,  0.0 ni, 99.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3881340 total,  2384096 free,   764044 used,   733200 buff/cache
KiB Swap:  4064252 total,  4064252 free,        0 used.  2786112 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
10673 tomcat    20   0 3189912 523976  14328 S   1.3 13.5  88:07.20 java
  771 root      20   0  218504   9520   5984 S   0.3  0.2   0:24.28 rsyslogd
    1 root      20   0  125344   3760   2564 S   0.0  0.1   1:56.72 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.21 kthreadd
    3 root      20   0       0      0      0 S   0.0  0.0   0:01.94 ksoftirqd/0
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H
    7 root      rt   0       0      0      0 S   0.0  0.0   0:00.10 migration/0
    8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh
    9 root      20   0       0      0      0 S   0.0  0.0   0:43.99 rcu_sched
   10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-drain
   11 root      rt   0       0      0      0 S   0.0  0.0   0:01.57 watchdog/0
   12 root      rt   0       0      0      0 S   0.0  0.0   0:02.02 watchdog/1
   13 root      rt   0       0      0      0 S   0.0  0.0   0:00.18 migration/1
   14 root      20   0       0      0      0 S   0.0  0.0   0:02.61 ksoftirqd/1
   16 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/1:0H
   18 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kdevtmpfs
   19 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 netns
   20 root      20   0       0      0      0 S   0.0  0.0   0:00.35 khungtaskd
   21 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 writeback
   22 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kintegrityd
   23 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 bioset
   24 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kblockd
   25 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 md
   26 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 edac-poller
   32 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kswapd0

第一部分

  1. 第一行:任务队列信息
# top
top - 14:10:45 up 3 days, 21:54,  1 user,  load average: 0.00, 0.01, 0.05

注意:
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值:
1)单核CPU情况下:0.00表示没有任何负荷,1.00表示刚好满负荷,超过1.00则表示超负荷,理想值为0.7
2)多核CPU情况下:CPU核数 * 理想值0.7 = 理想负荷,例如:4核CPU负载不超过2.8则表示没有出现高负载
(查询CPU的核数:cat /proc/cpuinfo| grep "cpu cores"| uniq)

  1. 第二行:任务进程相关信息
Tasks: 117 total,   2 running, 115 sleeping,   0 stopped,   0 zombie
  1. 第三行:CPU信息(多个cpu时,内容可能会超过两行)
%Cpu(s):  0.3 us,  0.5 sy,  0.0 ni, 99.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
  1. 第四行和第五行:内存使用(与free命令类似)
//物理内存使用
KiB Mem :  3881340 total,  2204420 free,   801112 used,   875808 buff/cache
//虚拟内存使用
KiB Swap:  4064252 total,  4064252 free,        0 used.  2745980 avail Mem

物理内存:

近似计算服务器的真正可用内存:第四行的free + 第四行的buffers + 第五行的cached
注意:
对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了,或者运行有内存溢出问题

第二部分:各进程状态监控

通过 f 键可以选择显示的内容。按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。
按 o 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。
按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序。而大写的 R 键可以将当前的排序倒转。


image.png

二. top运行过程中显示方式控制

三. top命令参数使用

使用格式:top [-] [d] [p] [q] [c] [C] [S] [s] [n]
参数说明:

上一篇 下一篇

猜你喜欢

热点阅读