服务进程数过多——导致内存分区交换

被测服务背景说明

服务调用链路

一个后台的被测服务+2个数据库


服务调用链.png

接口功能

单个查询接口压测,接口调用链如下:


接口调用链.png

一、环境介绍

1.1 压测环境

腾讯云申请的linux服务器,部署在测试环境中
4C8G

1.2 被测服务环境

腾讯云申请的linux服务器,部署在测试环境中
2C4G

二、压测结果

2.1 TPS和RT

image.png

2.2 服务器资源

image.png
top - 16:00:03 up 105 days, 20:14,  3 users,  load average: 178.80, 174.37, 121.59
Tasks: 475 total, 164 running, 232 sleeping,   0 stopped,   9 zombie
%Cpu0  : 71.2 us, 25.2 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  3.6 si,  0.0 st
%Cpu1  : 73.0 us, 23.3 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  3.7 si,  0.0 st
KiB Mem :  3881904 total,   143380 free,  2913448 used,   825076 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   123224 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                     
   30 root      20   0       0      0      0 S   4.6  0.0 387:24.77 kswapd0                                                                                     
  607 root      20   0 1201328  16732   1468 S   3.3  0.4 136:27.39 barad_agent                                                                                 
10519 ops       20   0  706456   8760    680 S   3.3  0.2 135:50.02 ftrace_udp_agen                                                                             
    1 root      20   0  190876   2664   1168 S   2.0  0.1  96:52.92 systemd                                                                                     
  635 dbus      20   0   28140   2312    344 R   2.0  0.1 129:10.52 dbus-daemon                                                                                 
 8544 root      20   0  775288  18612   8932 S   2.0  0.5   4:14.55 YDEdr                                                                                       
  349 root      20   0   53604   3684   3304 S   1.7  0.1  58:35.04 systemd-journal                                                                             
14345 ops       20   0 1278392  17644   9056 R   1.7  0.5   0:07.48 php-fpm                                                                                     
 5631 ops       20   0 1278392  17684   9072 R   1.3  0.5   0:09.28 php-fpm                  

可以看出来的问题:

  1. load average: 178.80 很高(系统负载平均值 正常值:应该小于CPU个数X核数X0.7)
  2. 在持续观察 top数据一段时间后,25.2 sy会在一段时间占用过大
  3. kswapd0 进程占用了很多的CPU

三、问题分析

先来看下 load average是什么?
load average:系统负载平均值(system load averages)
可以衡量任务对系统的需求,并且它可能大于系统当前正在处理的数量,大多数工具将其显示为三个平均值,分别为 1、5 和 15 分钟值
一些解释:

如果平均值为 0.0,意味着系统处于空闲状态
如果 1min 平均值高于 5min 或 15min 平均值,则负载正在增加
如果 1min 平均值低于 5min 或 15min 平均值,则负载正在减少
如果它们高于系统 CPU 的数量,那么系统很可能会遇到性能问题(视情况而定)
具体的详细解释,可参加:https://zhuanlan.zhihu.com/p/75975041

系统负载这么高,到底是在做什么呢?

【因为】
kswapd0进程是:操作系统的进程,用来管理内存的。
因为"kswapd0 进程占用了较多的CPU(4.6%)",导致sy达到了25%左右。
可能内存存在问题,那么先看下内存情况。

3.1 查看系统内存情况(sar -B 1)

[ops@QC_GZ-172_24_19_171-null ~]$ sar -B 1
Linux 3.10.0-514.21.1.el7.x86_64 (QC_GZ-172_24_19_171-null)     06/11/2021  _x86_64_    (2 CPU)

05:16:37 PM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
05:16:38 PM   2428.00    112.00  11481.00      8.00  16976.00      0.00      0.00      0.00      0.00
05:16:39 PM  23691.09    139.60  16352.48      0.99  28139.60  18412.87      0.00  17388.12     94.43
05:16:40 PM  11172.00      0.00  12116.00      5.00  18185.00      0.00      0.00      0.00      0.00
05:16:41 PM   4444.00      0.00   3368.00      3.00  12457.00      0.00      0.00      0.00      0.00
05:16:42 PM      4.00      0.00   5399.00      1.00  13263.00      0.00      0.00      0.00      0.00
05:16:43 PM      4.00      0.00   2674.00      1.00  14081.00      0.00      0.00      0.00      0.00
05:16:44 PM      0.00     31.68   2530.69      0.00  13134.65      0.00      0.00      0.00      0.00
05:16:45 PM    420.00      0.00   4992.00      4.00  14598.00      0.00      0.00      0.00      0.00
05:16:46 PM      8.00      0.00   2582.00      2.00  12660.00      0.00      0.00      0.00      0.00
05:16:47 PM      0.00      0.00   2520.00      0.00  13658.00      0.00      0.00      0.00      0.00
05:16:48 PM      0.00      0.00   2770.30      0.00  13668.32      0.00      0.00      0.00      0.00
05:16:49 PM   2200.00      0.00   2825.00      2.00  11906.00      0.00      0.00      0.00      0.00
05:16:50 PM      8.00    316.00   5241.00      0.00  12759.00      0.00      0.00      0.00      0.00
05:16:51 PM      0.00      0.00   2605.00      0.00  10551.00      0.00      0.00      0.00      0.00
05:16:52 PM      0.00      0.00   5153.00      0.00  13309.00      0.00      0.00      0.00      0.00
05:16:53 PM      0.00      0.00   6580.00      0.00  24864.00      0.00      0.00      0.00      0.00
05:16:54 PM     16.00  12624.00   2838.00      0.00  12658.00      0.00      0.00      0.00      0.00
05:16:55 PM      3.96     75.25   4837.62      0.00  14996.04      0.00      0.00      0.00      0.00
05:16:56 PM     20.00      0.00   2799.00      1.00  12374.00      0.00      0.00      0.00      0.00
05:16:57 PM   2596.00      0.00   5063.00      5.00  15248.00      0.00      0.00      0.00      0.00
05:16:58 PM      7.92      0.00   2525.74      0.00  13568.32      0.00      0.00      0.00      0.00
05:16:59 PM      0.00      0.00   2897.00      0.00  12689.00      0.00      0.00      0.00      0.00
05:17:00 PM     52.00      0.00   5115.00      1.00  14965.00      0.00      0.00      0.00      0.00
05:17:01 PM   3432.00    247.00   4049.00      2.00  13372.00      0.00      0.00      0.00      0.00
05:17:02 PM  13680.00    108.00  24726.00     96.00  14860.00      0.00      0.00      0.00      0.00
05:17:03 PM  38308.00    436.00  74812.00    273.00  59709.00  31661.00      0.00  30270.00     95.61
05:17:04 PM  19668.00   4861.00  50836.00    217.00  50120.00  21439.00   3326.00  23184.00     93.62
05:17:05 PM  29104.95   1172.28  34513.86    181.19  34986.14  21929.70      0.00  20190.10     92.07
05:17:06 PM  56416.83   1906.93  49170.30    201.98  46266.34  22119.80      0.00  21058.42     95.20
05:17:07 PM 132063.73    550.98  26121.57    359.80  54441.18  35367.65   2843.14  36667.65     95.96
05:17:08 PM 140647.22     85.47   6047.46    475.79  53316.95 332737.53 673634.87  31309.44      3.11
05:17:14 PM 147070.19     60.87   8724.22    465.53  71342.86 960378.88 2018672.36  36032.30      1.21
05:17:14 PM  64550.00      0.00 143087.50    862.50 149162.50      0.00      0.00      0.00      0.00
05:17:15 PM  92045.00     52.00 174568.00    690.00  48202.00      0.00      0.00      0.00      0.00
05:17:16 PM  54492.00    108.00 122016.00    436.00  75954.00      0.00      0.00      0.00      0.00
05:17:17 PM   3056.00      0.00  81783.00     49.00  24937.00      0.00      0.00      0.00      0.00
05:17:18 PM   4516.00      4.00  74144.00     73.00  60364.00      0.00      0.00      0.00      0.00
05:17:19 PM   2784.16     27.72  16536.63      1.98  18620.79      0.00      0.00      0.00      0.00
05:17:20 PM   8944.00      0.00  15552.00      2.00  13285.00      0.00      0.00      0.00      0.00
05:17:21 PM   3688.00    552.00  31403.00     11.00  19743.00      0.00      0.00      0.00      0.00
05:17:22 PM   1805.94      0.00  17313.86      0.99  14853.47      0.00      0.00      0.00      0.00
05:17:23 PM   3992.00      0.00   7831.00      0.00  18488.00      0.00      0.00      0.00      0.00
05:17:24 PM   5972.00      0.00  10727.00      3.00  10108.00      0.00      0.00      0.00      0.00
05:17:25 PM  10376.00      0.00   6539.00     19.00  14876.00      0.00      0.00      0.00      0.00
05:17:26 PM  16920.00    144.00   6997.00      4.00  12119.00      0.00      0.00      0.00      0.00

命令的参数解释可参加:https://www.jianshu.com/p/ea7ed85918ac
摘录了部分内容:

分页(Paging):一般而言,操作系统将虚拟地址空间划分成固定大小的“页(Page)”,比如说,现在的Linux默认使用的页大小是4KB,该参数可以通过命令getconf PAGESIZE查看。操作系统使用页表来管理页。而且,最重要的是,页是操作系统内存管理的最小单元

swap:在物理内存不足的时候,操作系统考虑将一部分内存数据“刷”到文件系统中(简单来说,就是磁盘上)。
而Linux为了提高读写效率,会将一部分文件缓存在内存中,那么也会逐渐消耗完所有的物理内存。这个时候,一般会将一些很长时间没有运行的程序交换到磁盘上,以释放出内存供新的程序使用。

pgpgin/s和pgpgout/s:系统在每秒内,换进换出的内存大小。

fault/s和majflt/s:缺页中断。这两个选项和前面提到的pgpgin/s、pgpgout/s有很强的关联性。基本上,它们的变化趋势是一致的。数值越大,也意味着性能越糟糕。

pgfree/s:每秒放回空闲链表的页的数量。

pgscank/s和pgscand/s:pgscank我猜测是page scanned by kswapd的简写,而s和pgscand则是page scanned directly的简写。
kswapd:Kernel Swap Daemon的简写。大体上来说,它就是一个定时任务,定时查看系统的空闲页,如果数量比较少,它叫要开始将页置换出去磁盘,以腾出物理内存。
pgscand则可以理解为kswapd的同步版本。

pgsteal/s:每秒从page cache和swap cache中回收的页数量。pgscank/s、pgscand/s有很强的相关性。

%vmeff:pgsteal/pgscan的值,实际上也就是pgsteal/(pgscank+pgscand)。

【3.1分析小结】
pgpgin/s、pgpgout/s高峰的时候有:132063.73 550.98。可以看出来:有很多的内存进出的交换,从而使得(pgfree/s:54441.18)每秒放回空闲链表的页增多。此时,内存的进出交换,占用了系统太多的CPU。
当内存交换完成后,有了内存资源,此时就可以处理php进程的业务,php开始抢占资源,导致资源又减少。
接下来,看下整个机器的CPU、内存,看看发生了什么,导致磁盘交换的频繁发生?

3.2 查看整个机器的CPU、内存、IO(vmstat 1)

[ops@QC_GZ-172_24_19_171-null ~]$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
218 10      0 145864   2952 756036    0    0  1323    93    0    1  7  2 89  2  0
231 10      0 124852   2496 748252    0    0 81672   119 7689 6395 69 32  0  0  0
224 12      0 110848   1356 723592    0    0 39582   507 8786 6771 72 28  0  0  0
95 71      0  88360    196 710604    0    0 816904   873 27306 27572 13 78  0  8  0
68 10      0 102900   7016 881700    0    0 88965     8 5425 6100 60 40  0  0  0
68  7      0 244032   8272 859476    0    0 59032    60 6473 6845 65 35  0  0  0
76  5      0 285132   8844 871252    0    0 13104     8 7963 7489 76 24  0  0  0
112  1      0 303520   9200 873980    0    0  2388     4 7567 6675 76 24  0  0  0
129  1      0 230600   9692 883212    0    0  9444   380 8103 6854 69 31  0  0  0
145  0      0 242124   9732 890496    0    0  6204     4 9292 8441 78 22  0  0  0
166  0      0 213028   9752 897756    0    0  6544     0 8881 7795 79 21  0  0  0
162  1      0 197468  10044 900888    0    0  2516     0 9290 8153 80 21  0  0  0
191  1      0 206824  11168 911960    0    0 13180     0 10097 9118 78 22  0  0  0
126  1      0 203336  11180 913396    0    0  1440   280 10015 8836 82 18  0  0  0
176  0      0 188376  11180 917688    0    0  4092     0 10803 9574 82 18  0  0  0
191  1      0 174668  11596 923228    0    0  5812     0 9830 9114 84 17  0  0  0
203  2      0 155228  11636 931476    0    0  8832     0 10648 9316 81 19  0  0  0
127  3      0 143336  11636 940520    0    0  9089     0 11578 9979 79 21  0  0  0
146  1      0 112528  11776 959636    0    0 19300     0 9510 8703 83 17  0  0  0
170  1      0 120620  10740 952520    0    0 15532    96 9831 8649 82 18  0  0  0
183  2      0 120652  10276 944988    0    0 15644   157 10171 9378 80 20  0  0  0
194  2      0 146280   8820 918372    0    0 17388   457 9458 8180 83 17  0  0  0
200  3      0  91428   7600 931980    0    0 29656   178 9205 8073 82 18  0  0  0
109  2      0 167932   5804 866800    0    0  8658 19728 10093 8987 77 23  0  0  0

【数据解释】
r:运行队列((就是说多少个进程真的分配到CPU)。当这个值超过了CPU数目,就会出现CPU瓶颈了。
b:阻塞的进程。
swpd:虚拟内存已使用的大小。如果大于0,表示机器物理内存不足了。
free: 空闲的物理内存的大小(单位KB)。
buff:Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存。
cache:直接用来记忆我们打开的文件,给文件做缓冲
si:每秒从磁盘读入虚拟内存的大小。如果这个值大于0,表示物理内存不够用或者内存泄露了
so:每秒虚拟内存写入磁盘的大小。如果这个值大于0,同上。
bi:块设备每秒接收的块数量。指系统上所有的磁盘和其他块设备,默认块大小是1024byte。
bo:块设备每秒发送的块数量。
in:每秒CPU的中断次数,包括时间中断
cs:每秒上下文切换次数。eg:调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目
us:用户CPU时间
sy:系统CPU时间
us:空闲 CPU时间。一般来说,id + us + sy = 100
wt:等待IO CPU时间

【3.2分析小结】
r明显很高,说明了CPU非常的繁忙。
b明显很高,说明有进程在等待资源。
free大概是145864KB=155MB=0.155GB。对于一个系统,要维持正常的运行,大概就需要这么多的内存资源,当发现资源小于这个值的时候,就会有系统保护,来抢占应用占用的资源,对于系统来说剩余的内存空间真的是太小了。
也再一次证明了,3.1分析的内容,为什么会阶段性的发生swap的交换。(因为系统为了保持正常运行,不得不发生资源的交换)

既然分析到IO读写有问题,那再看看IO的状态:

3.3 查一下IO状态(iostat)

[ops@QC_GZ-172_24_19_171-null ~]$ iostat
Linux 3.10.0-514.21.1.el7.x86_64 (QC_GZ-172_24_19_171-null)     06/11/2021  _x86_64_    (2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           6.96    0.29    2.42    1.61    0.00   88.73

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda              61.98      2018.18        98.98 18465684898  905613140
vdb              34.22       618.46        85.87 5658742836  785687027
scd0              0.00         0.00         0.00        718          0

【数据解释】

cpu属性值说明:

  • %user:CPU处在用户模式下的时间百分比。
  • %nice:CPU处在带NICE值的用户模式下的时间百分比。
  • %system:CPU处在系统模式下的时间百分比。
  • %iowait:CPU等待输入输出完成时间的百分比。
  • %steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
  • %idle:CPU空闲时间百分比。

【说明】CPU相对空闲,但是磁盘读写确实发生了很多
那么接下俩详细看看,磁盘都再做什么?

3.4 查看磁盘信息(iostat -x -d 1)

[ops@QC_GZ-172_24_19_171-null ~]$ iostat -x -d 1
Linux 3.10.0-514.21.1.el7.x86_64 (QC_GZ-172_24_19_171-null)     06/11/2021  _x86_64_    (2 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.32     6.71   52.50    9.48  2018.28    98.98    68.32     0.07    1.18    0.31    6.00   0.41   2.51
vdb               0.01     0.42   31.45    2.77   618.48    85.87    41.16     0.08    2.22    1.56    9.69   0.69   2.37
scd0              0.00     0.00    0.00    0.00     0.00     0.00    10.18     0.00    0.79    0.79    0.00   0.79   0.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda              18.81     0.00 2047.52  409.90 122364.36  4071.29   102.90    11.08    4.61    3.78    8.76   0.32  77.82
vdb               0.00     0.00  256.44    6.93  4556.93    27.72    34.82     0.29    1.10    1.11    0.86   0.58  15.35
scd0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               7.00     0.00  917.00    0.00 51412.00     0.00   112.13     2.67    2.91    2.91    0.00   0.38  35.10
vdb               0.00     0.00  288.00    3.00  6588.00    35.50    45.52     0.26    0.90    0.90    1.00   0.59  17.30
scd0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               3.00     0.00  169.00    0.00  5724.00     0.00    67.74     0.33    1.96    1.96    0.00   0.37   6.30
vdb               0.00     0.00  127.00    1.00  3120.00     4.00    48.81     0.15    1.20    1.20    1.00   0.98  12.60
scd0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00     0.00  242.00    0.00  1920.00     0.00    15.87     0.45    1.84    1.84    0.00   0.21   5.20
vdb               0.00     0.00   14.00    1.00   376.50     4.00    50.73     0.01    0.53    0.50    1.00   0.53   0.80
scd0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               2.00    67.00  547.00    8.00 11348.00   300.00    41.97     1.01    1.81    1.78    4.25   0.33  18.10
vdb               0.00     0.00   12.00    1.00  3980.00     4.00   612.92     0.08    6.31    6.33    6.00   1.38   1.80
scd0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00     0.00   19.80  129.70   831.68   772.28    21.46     0.32    2.15    2.15    2.15   0.14   2.08
vdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
scd0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               1.00     0.00  172.00    0.00  5812.00     0.00    67.58     0.30    1.74    1.74    0.00   0.29   5.00
vdb               0.00     0.00    6.00    0.00    24.00     0.00     8.00     0.00    0.33    0.33    0.00   0.33   0.20
scd0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

【数据解释】

  • rrqm/s: 每秒进行 merge 的读操作数目。即 rmerge/s
  • wrqm/s: 每秒进行 merge 的写操作数目。即 wmerge/s
  • r/s: 每秒完成的读 I/O 设备次数。即 rio/s
  • w/s: 每秒完成的写 I/O 设备次数。即 wio/s
  • rsec/s: 每秒读扇区数。即 rsect/s
  • wsec/s: 每秒写扇区数。即 wsect/s
  • rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。
  • wkB/s: 每秒写K字节数。是 wsect/s 的一半。
  • avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。
  • avgqu-sz: 平均I/O队列长度。
  • await: 平均每次设备I/O操作的等待时间 (毫秒)。
  • svctm: 平均每次设备I/O操作的服务时间 (毫秒)。
  • %util: 一秒中有百分之多少的时间用于 I/O 操作,即被io消耗的cpu百分比
    备注:如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。如果avgqu-sz比较大,也表示有当量io在等待。

再一次证明了,磁盘读写在某个时间段内,抢占CPU资源很严重。高的时候,%util达到77.82。

3.5 看下内存剩余多少(free -h)

[ops@QC_GZ-172_24_19_171-null ~]$ free -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        2.7G        190M        491M        871M        231M
Swap:            0B          0B          0B

free 只有190M。这个值接近linux保持自己可用的最小内存数量了~

3.6 查一下在3.1中看到的php进程数量,计算一下占用内存

[ops@QC_GZ-172_24_19_171-null ~]$ ps -ef |grep php |wc -l
229

有229个,如果按照一个进程占用0.4%计算,总共占用229 * 0.4 / 100 * 4=3.66G

此时问题已经非常明显了。
因为在2C4G的机器上,由于压力数变大,导致启动了过多的php进程,从而导致php进程抢占了过多的内存资源,此时Linux系统为了维持自己的稳定运行,必须进行内存交换,来获取内存资源。

那么就要优化php能够启动的数量。

四、解决方法

修改php-fpm可以启动的最大进程数量
max_children 之前是200,修改为60.


image.png

五、修改后的效果

5.1 php的进程数量

基本维持在60左右。


image.png

5.1 TPS和RT

image.png

虽然也会出现TPS掉的现象,单跟之前的掉到接近0是不一样的~

5.2 服务器资源

虽然 load average仍然会高,但比之前明显降低。
也不再有 kswap0 的问题

top - 17:18:01 up 110 days, 21:31,  5 users,  load average: 63.96, 37.93, 17.35
Tasks: 250 total,  66 running, 184 sleeping,   0 stopped,   0 zombie
%Cpu0  : 86.4 us,  9.6 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  4.0 si,  0.0 st
%Cpu1  : 85.1 us, 10.3 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  4.6 si,  0.0 st
KiB Mem :  3881904 total,   248980 free,  2640380 used,   992544 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   413748 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                         
23043 ops       20   0 1200016  17564   9268 R   5.0  0.5   0:07.00 php-fpm                                                                                         
23018 ops       20   0 1200020  17508   9212 R   4.6  0.5   0:07.09 php-fpm                                                                                         
23042 ops       20   0 1200008  17780   9448 R   4.6  0.5   0:07.17 php-fpm                                                                                         
23022 ops       20   0 1200020  17444   9140 R   4.3  0.4   0:06.48 php-fpm                                                                                         
23040 ops       20   0 1200016  17904   9564 R   4.3  0.5   0:07.11 php-fpm                                                                                         
10519 ops       20   0  706272   8788    784 R   4.0  0.2 142:34.53 ftrace_udp_agen                                                                                 
23005 ops       20   0 1199940  17528   9200 R   4.0  0.5   0:07.08 php-fpm                                                                                         
23006 ops       20   0 1200020  17420   9116 R   4.0  0.4   0:07.14 php-fpm                                                                                         
23010 ops       20   0 1200020  17724   9392 R   4.0  0.5   0:06.68 php-fpm                                                                                         
23013 ops       20   0 1200020  18464  10116 R   4.0  0.5   0:07.48 php-fpm                                                                                         
23017 ops       20   0 1200020  17788   9424 R   4.0  0.5   0:06.90 php-fpm                                                                                         
23031 ops       20   0 1200020  17488   9168 R   4.0  0.5   0:07.31 php-fpm                                                                                         
23034 ops       20   0 1200020  17456   9156 R   4.0  0.4   0:06.94 php-fpm                                                                                         
25043 ops       20   0 1200020  17196   8964 R   4.0  0.4   0:06.74 php-fpm                                                                                         
23001 ops       20   0 1199928  19640  11296 R   3.6  0.5   0:06.96 php-fpm                                                                                         
23003 ops       20   0 1199968  19540  11184 R   3.6  0.5   0:06.50 php-fpm                                                                                         
23007 ops       20   0 1200020  17500   9200 R   3.6  0.5   0:06.64 php-fpm                                                                                         
23020 ops       20   0 1199976  18572  10252 R   3.6  0.5   0:06.70 php-fpm                                                                                         
23028 ops       20   0 1199996  19368  11020 R   3.6  0.5   0:06.46 php-fpm                                                                                         
25126 ops       20   0 1200020  18952  10608 R   3.6  0.5   0:06.32 php-fpm                                                                                         
22997 ops       20   0 1200012  20044  11624 R   3.3  0.5   0:07.11 php-fpm                                                                                         
23008 ops       20   0 1200020  17604   9240 R   3.3  0.5   0:06.59 php-fpm                                                                                         
23021 ops       20   0 1200012  20304  11924 R   3.3  0.5   0:06.43 php-fpm                                                                                         
23033 ops       20   0 1200020  17540   9224 R   3.3  0.5   0:07.20 php-fpm                                                                                         
23036 ops       20   0 1200020  17404   9100 R   3.3  0.4   0:06.48 php-fpm                                                                                         
23038 ops       20   0 1200020  18312   9988 R   3.3  0.5   0:06.39 php-fpm                                                                                         
24972 ops       20   0 1200020  17176   8952 R   3.3  0.4   0:06.64 php-fpm                                                                                         
25041 ops       20   0 1200020  17648   9324 R   3.3  0.5   0:06.58 php-fpm                                                                                         
25044 ops       20   0 1199940  17420   9028 R   3.3  0.4   0:07.13 php-fpm                                                                                         
23000 ops       20   0 1199916  19188  10876 R   3.0  0.5   0:06.69 php-fpm                                                                                         
23004 ops       20   0 1200020  19032  10636 R   3.0  0.5   0:06.72 php-fpm                                                                                         
23015 ops       20   0 1200020  17972   9668 R   3.0  0.5   0:06.82 php-fpm                                                                                         
23025 ops       20   0 1200020  17524   9212 R   3.0  0.5   0:06.49 php-fpm                                                                                         
23029 ops       20   0 1200020  17732   9428 R   3.0  0.5   0:06.45 php-fpm                                                                                         
25128 ops       20   0 1200020  17656   9332 R   3.0  0.5   0:06.36 php-fpm                                                                                         
22996 ops       20   0 1200012  17508   9208 R   2.6  0.5   0:06.63 php-fpm                                                                                         
22999 ops       20   0 1199960  20104  11756 R   2.6  0.5   0:06.10 php-fpm                                                                                         
23011 ops       20   0 1200020  18976  10580 R   2.6  0.5   0:06.21 php-fpm                                                                                         
23024 ops       20   0 1200020  17552   9228 R   2.6  0.5   0:06.83 php-fpm                                                                                         
23027 ops       20   0 1200020  17980   9644 R   2.6  0.5   0:06.43 php-fpm                                                                                         
24970 ops       20   0 1200020  17192   8968 R   2.6  0.4   0:06.82 php-fpm                                                                                         
22998 ops       20   0 1200056  23176  13580 R   2.3  0.6   0:06.47 php-fpm                                                                                         
23014 ops       20   0 1200020  17876   9540 R   2.3  0.5   0:06.89 php-fpm                                                                                         
23023 ops       20   0 1200020  17924   9612 R   2.3  0.5   0:06.31 php-fpm                                                                                         
23026 ops       20   0 1200020  17432   9128 R   2.3  0.4   0:06.63 php-fpm    

5.3 查看下系统内存

有300M的空闲,也不再有之前很多的磁盘交换了。

[ops@QC_GZ-172_24_19_171-null etc]$ free -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        2.5G        304M        492M        915M        411M
Swap:            0B          0B          0B
[ops@QC_GZ-172_24_19_171-null etc]$ sar -B 1
Linux 3.10.0-514.21.1.el7.x86_64 (QC_GZ-172_24_19_171-null)     06/16/2021  _x86_64_    (2 CPU)

05:19:08 PM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
05:19:09 PM   5089.11      0.00  34594.06      1.98  42226.73      0.00      0.00      0.00      0.00
05:19:10 PM   2752.00      0.00   8768.00      5.00  12707.00      0.00      0.00      0.00      0.00
05:19:11 PM     36.00     81.00   5178.00      0.00  14807.00      0.00      0.00      0.00      0.00
05:19:12 PM     20.00      0.00   5201.00      1.00  11954.00      0.00      0.00      0.00      0.00
05:19:13 PM      3.96     99.01   2734.65      0.99   9546.53      0.00      0.00      0.00      0.00
05:19:14 PM  31172.00      0.00  16182.00     31.00  15274.00      0.00      0.00      0.00      0.00
05:19:15 PM    372.00      0.00   6103.00      2.00  11231.00      0.00      0.00      0.00      0.00
05:19:16 PM      0.00      0.00   2729.00      0.00  10415.00      0.00      0.00      0.00      0.00
05:19:17 PM      0.00      0.00   2495.05      0.00  10433.66      0.00      0.00      0.00      0.00
05:19:18 PM      0.00    144.00   2569.00      0.00  10672.00      0.00      0.00      0.00      0.00
05:19:19 PM    312.00      0.00   2721.00      1.00   9280.00      0.00      0.00      0.00      0.00
05:19:20 PM      0.00      0.00   5075.00      0.00  11911.00      0.00      0.00      0.00      0.00
05:19:21 PM      0.00      0.00   2566.00      0.00   9630.00      0.00      0.00      0.00      0.00
05:19:22 PM      0.00      0.00   5025.74      0.00  11876.24      0.00      0.00      0.00      0.00
05:19:23 PM      0.00    708.00   2675.00      0.00   9661.00      0.00      0.00      0.00      0.00
05:19:24 PM      0.00     87.13   2526.73      0.00  10161.39      0.00      0.00      0.00      0.00
05:19:25 PM      0.00      0.00   5079.00      0.00  11127.00      0.00      0.00      0.00      0.00
05:19:26 PM   7080.00      0.00   2565.00      2.00   9749.00      0.00      0.00      0.00      0.00
05:19:27 PM      0.00      0.00   2604.00      0.00  10726.00      0.00      0.00      0.00      0.00
05:19:28 PM      0.00     27.72   2485.15      0.00   9882.18      0.00      0.00      0.00      0.00
05:19:29 PM      4.00      0.00   2961.00      0.00  10431.00      0.00      0.00      0.00      0.00
05:19:30 PM      4.00    216.00   5464.00      0.00  11137.00      0.00      0.00      0.00      0.00
05:19:31 PM  14636.00      0.00   2859.00      7.00  10539.00      0.00      0.00      0.00      0.00
05:19:32 PM      0.00      0.00   5007.00      0.00  10714.00      0.00      0.00      0.00      0.00
05:19:33 PM    272.00   2480.00   2907.00     66.00  10642.00      0.00      0.00      0.00      0.00
05:19:34 PM    205.94      0.00   2749.50     50.50   9846.53      0.00      0.00      0.00      0.00
05:19:35 PM   3448.00     92.00   5013.00      1.00  11160.00      0.00      0.00      0.00      0.00
05:19:36 PM   2928.00      0.00   2614.00      1.00  10285.00      0.00      0.00      0.00      0.00
05:19:37 PM      0.00      0.00   2589.00      0.00  10545.00      0.00      0.00      0.00      0.00
05:19:38 PM      0.00   1072.00   2580.00      0.00  10291.00      0.00      0.00      0.00      0.00
05:19:39 PM      0.00      0.00   2531.68      0.00  10008.91      0.00      0.00      0.00      0.00
05:19:40 PM   1116.00     80.00  13108.00     23.00  13745.00      0.00      0.00      0.00      0.00
05:19:41 PM  10499.01    253.47   8534.65      3.96  10315.84      0.00      0.00      0.00      0.00
^C
05:19:41 PM    958.33      0.00   2204.17      0.00   9789.58      0.00      0.00      0.00      0.00
Average:      2400.00    159.22   5376.50      5.90  11881.83      0.00      0.00      0.00      0.00


[ops@QC_GZ-172_24_19_171-null etc]$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
95 18      0 153996   2844 828384    0    0  1280    96    1    2  7  2 89  2  0
96 13      0 154980   3304 766436    0    0 19568   667 6147 5450 74 26  0  0  0
101  3      0 155960   2852 763512    0    0 11004    66 6360 6081 73 27  0  0  0
89  4      0 183536   2612 768604    0    0 16088   368 6481 6240 68 32  0  0  0
64  0      0 424340   3072 776676    0    0 13208    80 6666 6661 76 24  0  0  0
66  0      0 425608   3108 790188    0    0 13440     0 8114 7244 85 15  0  0  0
61  0      0 426232   3108 790676    0    0    16     0 8467 7874 84 17  0  0  0
64  0      0 444648   3708 796196    0    0  6164    27 8149 7963 83 17  0  0  0
61  1      0 445112   3716 798184    0    0  1980     0 9043 8070 87 13  0  0  0
61  1      0 439120   4136 799028    0    0   928  2904 8986 8419 86 13  0  0  0
62  1      0 403940   4188 838924    0    0 39688    80 8309 7251 82 18  0  0  0
65  0      0 401572   4196 839088    0    0    20     0 8794 7971 87 13  0  0  0
65  1      0 399952   4196 839524    0    0     4     0 8912 8124 86 14  0  0  0
65  0      0 399804   4336 841156    0    0  1420     0 8937 7970 86 14  0  0  0
70  0      0 398820   4336 841296    0    0     0   156 8781 8039 86 14  0  0  0
62  0      0 398756   4364 841616    0    0    20   116 8952 8206 85 15  0  0  0
62  0      0 399064   4368 841896    0    0     4     0 8915 8095 86 14  0  0  0
63  0      0 399560   4368 842212    0    0     0     0 9155 8496 85 15  0  0  0
63  0      0 396260   4368 842520    0    0     0     0 8742 7982 88 13  0  0  0
61  0      0 398460   4368 842844    0    0     0     8 8841 7885 85 15  0  0  0
63  0      0 397076   4368 843132    0    0     0     0 8780 8144 85 15  0  0  0
57  0      0 389512   4388 851948    0    0  8324    64 8737 8014 86 14  0  0  0
66  0      0 387892   4388 852132    0    0     0     0 9118 8270 87 13  0  0  0
65  0      0 389280   4388 852328    0    0     0     0 8480 7771 88 12  0  0  0
65  0      0 388288   4388 851924    0    0     0     4 9037 8192 88 13  0  0  0
61  0      0 388648   4388 852224    0    0   436     0 8996 8450 87 13  0  0  0
67  0      0 385220   4404 853272    0    0   692   224 8574 7686 86 14  0  0  0
65  0      0 387232   4404 853592    0    0     0     0 8809 7838 87 13  0  0  0
66  1      0 384360   4816 854776    0    0  1056  1260 8793 8330 86 14  0  0  0
63  0      0 384088   4852 855600    0    0   696  8948 8744 8247 86 14  0  0  0
63  0      0 375996   4996 862044    0    0  6280     0 8752 8078 86 14  0  1  0
64  1      0 377224   5008 862316    0    0     8     0 8954 8311 86 14  0  0  0
60  0      0 376744   5008 862656    0    0     0     0 8996 8330 86 14  0  0  0
61  0      0 375620   5008 862996    0    0     0     0 8825 8230 87 13  0  0  0
65  0      0 375208   5024 863516    0    0    64   388 8983 8385 86 14  0  0  0
62  0      0 373416   5024 863636    0    0     0     0 9089 8272 88 13  0  0  0
64  0      0 374904   5444 864176    0    0   584     0 8605 7846 84 16  0  0  0
67  0      0 374552   5444 864468    0    0     0    63 8980 8443 87 13  0  0  0
63  0      0 374136   5444 864808    0    0     0     0 8837 8146 85 15  0  0  0
62  0      0 374124   5444 865060    0    0     0     0 8797 8164 87 13  0  0  0
60  0      0 372996   5452 865380    0    0     0    80 9098 8360 86 13  0  0  0
60  0      0 373508   5452 865760    0    0     4     0 8568 7987 86 14  0  0  0
65  0      0 373816   5452 863952    0    0     0     0 9187 8422 87 13  0  0  0
63  0      0 375468   5452 864296    0    0     0     0 8834 8070 86 15  0  0  0

六、分析过程中用到的命令

top
sar -B 1
vmstat
vmstat 1
iotop
 iostat
 iostat -x -d 1
free -h
ps -ef |grep php
ps -ef |grep php |wc -l


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • Basic CPU / Mem / Disk Info 1. CPU Cores 物理 CPU 的核数 ca...
    zpei0411阅读 11,999评论 0 6
  • 处理器指标 CPU利用率(CPU utilization)top 用户时间(User time) 系统时间(Sys...
    零雁xy阅读 677评论 0 0
  • sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能...
    随风化作雨阅读 544评论 0 1
  • sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能...
    linux_python阅读 352评论 0 0
  • 配置swap之前,通过 free 和 df 查看 swap 和 磁盘空间情况,目的是通过配置swap后比较变化。 ...
    LittleTrue阅读 549评论 0 1