Linux-Manual

常见日常监控

系统信息


综合监控


系统负载

命令:w(判断整体瓶颈)

 12:04:52 up 16 days, 12:54,  1 user,  load average: 0.06, 0.13, 0.12
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    116.21.24.85     11:57    4.00s 16:18   0.01s w
10:56:16 up 26 days, 20:05,  1 user,  load average: 0.00, 0.01, 0.05

命令:vmstat(判断 RAM 和 I/0 瓶颈)

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      0  72648      0 674564    0    0     0     7    0   26  1  1 99  0  0
 0  0      0  72648      0 674596    0    0     0     0  442  557  1  0 99  0  0
 0  0      0  72648      0 674596    0    0     0    12  438  574  0  1 99  0  0
 0  0      0  72648      0 674596    0    0     0     0  430  540  0  0 100  0  0
 0  0      0  72648      0 674596    0    0     0     0  448  567  0  1 99  0  0
 0  0      0  72648      0 674596    0    0     0     0  459  574  1  0 99  0  0
 0  0      0  72648      0 674596    0    0     0     0  425  543  0  1 99  0  0
 0  0      0  72276      0 674600    0    0     0     0  480  643  2  3 95  0  0

命令:sar(综合)

sar 之 CPU 使用情况(判断 CPU 瓶颈)
01:57:29 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
01:57:34 PM     all      1.81      0.00      0.40      0.00      0.00     97.78
01:57:39 PM     all      0.20      0.00      0.40      0.00      0.00     99.39
01:57:44 PM     all      0.40      0.00      0.60      0.00      0.00     98.99
01:57:49 PM     all      0.20      0.00      0.40      0.00      0.00     99.39
01:57:54 PM     all      0.80      0.00      1.41      0.00      0.00     97.79
01:57:59 PM     all      0.40      0.00      0.60      0.00      0.00     98.99
01:58:04 PM     all      0.20      0.00      0.40      0.00      0.00     99.39
01:58:09 PM     all      0.20      0.00      0.40      0.00      0.00     99.39
01:58:14 PM     all      0.40      0.00      0.61      0.00      0.00     98.99
01:58:19 PM     all      0.20      0.00      0.61      0.00      0.00     99.19
Average:        all      0.48      0.00      0.59      0.00      0.00     98.93
sar 之 RAM 使用情况(判断内存瓶颈)
02:32:15 PM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
02:32:20 PM      0.00      0.81    258.47      0.00     27.22      0.00      0.00      0.00      0.00
02:32:25 PM      0.00      0.00    611.54      0.00    300.20      0.00      0.00      0.00      0.00
02:32:30 PM      0.00     26.61     10.08      0.00     11.90      0.00      0.00      0.00      0.00
02:32:35 PM      0.00      1.62      3.64      0.00      3.84      0.00      0.00      0.00      0.00
02:32:40 PM      0.00      0.00      3.42      0.00      4.43      0.00      0.00      0.00      0.00
02:32:45 PM      0.00      0.00      3.43      0.00      3.83      0.00      0.00      0.00      0.00
02:32:50 PM      0.00      1.62      3.84      0.00      5.86      0.00      0.00      0.00      0.00
02:32:55 PM      0.00      0.00      3.41      0.00      3.82      0.00      0.00      0.00      0.00
02:33:00 PM      0.00      2.42    763.84      0.00    208.69      0.00      0.00      0.00      0.00
02:33:05 PM      0.00     13.74   2409.70      0.00    929.70      0.00      0.00      0.00      0.00
Average:         0.00      4.68    406.50      0.00    149.69      0.00      0.00      0.00      0.00
sar 之 I/O 使用情况(判断 I/O 瓶颈)
02:34:13 PM       tps      rtps      wtps   bread/s   bwrtn/s
02:34:18 PM      3.03      0.00      3.03      0.00     59.80
02:34:23 PM      0.00      0.00      0.00      0.00      0.00
02:34:28 PM      0.00      0.00      0.00      0.00      0.00
02:34:33 PM      0.00      0.00      0.00      0.00      0.00
02:34:38 PM      1.61      0.00      1.61      0.00     24.80
02:34:43 PM      0.00      0.00      0.00      0.00      0.00
02:34:48 PM      0.40      0.00      0.40      0.00      4.86
02:34:53 PM      0.00      0.00      0.00      0.00      0.00
02:34:58 PM      0.00      0.00      0.00      0.00      0.00
02:35:03 PM      0.00      0.00      0.00      0.00      0.00
Average:         0.50      0.00      0.50      0.00      8.94
sar 之 DEV(网卡)流量查看(判断网络瓶颈)
01:46:24 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
01:46:25 PM        lo      3.00      3.00      0.18      0.18      0.00      0.00      0.00
01:46:25 PM      eth0      4.00      4.00      0.55      0.56      0.00      0.00      0.00
Linux 3.10.0-693.2.2.el7.x86_64 (youmeek) 	07/17/2018 	_x86_64_	(2 CPU)

12:05:47 PM  active/s passive/s    iseg/s    oseg/s
12:05:48 PM      0.00      0.00      1.00      0.00

12:05:47 PM  atmptf/s  estres/s retrans/s isegerr/s   orsts/s
12:05:48 PM      0.00      0.00      0.00      0.00      0.00

12:05:48 PM  active/s passive/s    iseg/s    oseg/s
12:05:49 PM      0.00      0.00      1.00      1.00

12:05:48 PM  atmptf/s  estres/s retrans/s isegerr/s   orsts/s
12:05:49 PM      0.00      0.00      0.00      0.00      0.00

12:05:49 PM  active/s passive/s    iseg/s    oseg/s
12:05:50 PM      0.00      0.00      1.00      1.00

12:05:49 PM  atmptf/s  estres/s retrans/s isegerr/s   orsts/s
12:05:50 PM      0.00      0.00      0.00      0.00      0.00

12:05:50 PM  active/s passive/s    iseg/s    oseg/s
12:05:51 PM      0.00      0.00      3.00      3.00

12:05:50 PM  atmptf/s  estres/s retrans/s isegerr/s   orsts/s
12:05:51 PM      0.00      0.00      0.00      0.00      0.00

12:05:51 PM  active/s passive/s    iseg/s    oseg/s
12:05:52 PM      0.00      0.00      1.00      1.00

12:05:51 PM  atmptf/s  estres/s retrans/s isegerr/s   orsts/s
12:05:52 PM      0.00      0.00      0.00      0.00      0.00

Average:     active/s passive/s    iseg/s    oseg/s
Average:         0.00      0.00      1.40      1.20

Average:     atmptf/s  estres/s retrans/s isegerr/s   orsts/s
Average:         0.00      0.00      0.00      0.00      0.00
- active/s:每秒钟本地主动开启的 tcp 连接,也就是本地程序使用 connect() 系统调用
- passive/s:每秒钟从源端发起的 tcp 连接,也就是本地程序使用 accept() 所接受的连接
- retrans/s: 每秒钟的 tcp 重传次数

atctive 和 passive 的数目通常可以用来衡量服务器的负载:接受连接的个数(passive),下游连接的个数(active)。可以简单认为 active 为出主机的连接,passive 为入主机的连接;但这个不是很严格的说法,比如 loalhost 和 localhost 之间的连接。

来自:https://zhuanlan.zhihu.com/p/39893236

CPU 监控

CPU 的基本信息查看

CPU 监控

CPU 其他工具

Linux 3.10.0-693.2.2.el7.x86_64 (iZwz998aag1ggy168n3wg2Z) 	06/23/2018 	_x86_64_	(2 CPU)

11:44:52 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
11:44:53 AM    0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
11:44:54 AM    0    1.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.00
11:44:55 AM    0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
11:44:56 AM    0    0.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00    0.00   99.00
11:44:57 AM    0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
Average:       0    0.20    0.00    0.20    0.00    0.00    0.00    0.00    0.00    0.00   99.60

类似 top 的 pidstat

Linux 3.10.0-693.el7.x86_64 (youmeek) 	07/17/2018 	_x86_64_	(8 CPU)

11:52:58 AM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
11:53:00 AM     0     16813    0.50    0.99    0.00    1.49     1  pidstat
11:53:00 AM     0     24757   50.99   12.87    0.00   63.86     0  java
11:53:00 AM     0     24799   60.40    3.47    0.00   63.86     5  java
11:53:00 AM     0     24841   99.50    7.43    0.00  100.00     0  java

11:53:00 AM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
11:53:02 AM     0     24757   56.50    0.50    0.00   57.00     0  java
11:53:02 AM     0     24799  100.00    6.50    0.00  100.00     5  java
11:53:02 AM     0     24841   58.00    2.50    0.00   60.50     0  java

11:53:02 AM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
11:53:04 AM     0     16813    0.00    1.00    0.00    1.00     2  pidstat
11:53:04 AM     0     24757   62.00    5.50    0.00   67.50     0  java
11:53:04 AM     0     24799   54.00   14.00    0.00   68.00     5  java
11:53:04 AM     0     24841   39.50    9.00    0.00   48.50     0  java

11:53:04 AM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
11:53:06 AM     0     16813    0.50    0.50    0.00    1.00     2  pidstat
11:53:06 AM     0     24757   80.00   13.50    0.00   93.50     0  java
11:53:06 AM     0     24799   56.50    0.50    0.00   57.00     5  java
11:53:06 AM     0     24841    1.00    0.50    0.00    1.50     0  java

11:53:06 AM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
11:53:08 AM     0     16813    0.00    0.50    0.00    0.50     2  pidstat
11:53:08 AM     0     24757   58.50    1.00    0.00   59.50     0  java
11:53:08 AM     0     24799   60.00    1.50    0.00   61.50     5  java
11:53:08 AM     0     24841    1.00    0.50    0.00    1.50     0  java

Average:      UID       PID    %usr %system  %guest    %CPU   CPU  Command
Average:        0     16813    0.20    0.60    0.00    0.80     -  pidstat
Average:        0     24757   61.58    6.69    0.00   68.26     -  java
Average:        0     24799   66.47    5.19    0.00   71.66     -  java
Average:        0     24841   39.92    3.99    0.00   43.91     -  java

内存监控

              total        used        free      shared  buff/cache   available
Mem:             11           0          10           0           0          10
Swap:             5           0           5

[root@bogon ~]# free -mlt
             total       used       free     shared    buffers     cached
Mem:         16080      15919        160          0        278      11934
Low:         16080      15919        160
High:            0          0          0
-/+ buffers/cache:       3706      12373
Swap:            0          0          0
Total:       16080      15919        160
pidstat 采样内存使用情况
Linux 3.10.0-693.el7.x86_64 (youmeek) 	07/17/2018 	_x86_64_	(8 CPU)

11:56:34 AM   UID       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
11:56:36 AM     0     23960    168.81      0.00  108312   1124   0.01  pidstat
11:56:36 AM     0     24757      8.42      0.00 9360696 3862788  23.75  java
11:56:36 AM     0     24799      8.91      0.00 10424088 4988468  30.67  java
11:56:36 AM     0     24841     11.39      0.00 10423576 4968428  30.54  java

11:56:36 AM   UID       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
11:56:38 AM     0     23960    169.50      0.00  108312   1200   0.01  pidstat
11:56:38 AM     0     24757      6.00      0.00 9360696 3862788  23.75  java
11:56:38 AM     0     24799      5.50      0.00 10424088 4988468  30.67  java
11:56:38 AM     0     24841      7.00      0.00 10423576 4968428  30.54  java

11:56:38 AM   UID       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
11:56:40 AM     0     23960    160.00      0.00  108312   1200   0.01  pidstat
11:56:40 AM     0     24757      6.50      0.00 9360696 3862788  23.75  java
11:56:40 AM     0     24799      6.00      0.00 10424088 4988468  30.67  java
11:56:40 AM     0     24841      8.00      0.00 10423576 4968428  30.54  java

Average:      UID       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
Average:        0     23960    166.11      0.00  108312   1175   0.01  pidstat
Average:        0     24757      6.98      0.00 9360696 3862788  23.75  java
Average:        0     24799      6.81      0.00 10424088 4988468  30.67  java
Average:        0     24841      8.80      0.00 10423576 4968428  30.54  java

硬盘监控

硬盘容量相关查看

命令:iostat(判断 I/0 瓶颈)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.55    0.00    0.52    0.00    0.00   98.93

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.04    0.02    0.62     0.44     6.49    21.65     0.00    1.42    1.17    1.42   0.25   0.02

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.34    0.00    0.00    0.00    0.00   99.66

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    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.02    0.00    0.34    0.00    0.00   97.64

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    0.00    1.68     0.00    16.16    19.20     0.00    0.20    0.00    0.20   0.20   0.03

硬盘 IO 监控

[root@youmeek ~]# dd if=/dev/zero of=/opt/ioTest1.txt bs=1G count=1 oflag=dsync
记录了1+0 的读入
记录了1+0 的写出
1073741824字节(1.1 GB)已复制,5.43328 秒,198 MB/秒
/dev/sda:
Timing cached reads:   3462 MB in  2.00 seconds = 1731.24 MB/sec
Timing buffered disk reads: 806 MB in  3.00 seconds = 268.52 MB/sec
pidstat 采样硬盘使用情况
Linux 3.10.0-693.el7.x86_64 (youmeek) 	07/17/2018 	_x86_64_	(8 CPU)

11:57:29 AM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command

11:57:31 AM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
11:57:33 AM     0     24757      0.00      2.00      0.00  java
11:57:33 AM     0     24799      0.00     14.00      0.00  java

11:57:33 AM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
11:57:35 AM     0     24841      0.00      8.00      0.00  java

Average:      UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
Average:        0     24757      0.00      0.66      0.00  java
Average:        0     24799      0.00      4.65      0.00  java
Average:        0     24841      0.00      2.66      0.00  java
kB_rd/s: 每秒进程从磁盘读取的数据量(以 kB 为单位)
kB_wr/s: 每秒进程向磁盘写的数据量(以 kB 为单位)
kB_ccwr/s:任务取消的写入磁盘的 KB。当任务截断脏的 pagecache 的时候会发生。

网络监控

网络监控常用

中间部分:外部连接列表,即记录了哪些ip正在和本机的网络连接

右边部分:实时参数分别是该访问 ip 连接到本机 2 秒,10 秒和 40 秒的平均流量

=> 代表发送数据,<= 代表接收数据

底部会显示一些全局的统计数据,peek 是指峰值情况,cumm 是从 iftop 运行至今的累计情况,而 rates 表示最近 2 秒、10 秒、40 秒内总共接收或者发送的平均网络流量。

TX:(发送流量)  cumm:   143MB   peak:   10.5Mb    rates:   1.03Mb  1.54Mb  2.10Mb
RX:(接收流量)          12.7GB          228Mb              189Mb   191Mb   183Mb
TOTAL:(总的流量)       12.9GB          229Mb              190Mb   193Mb   185MbW

端口使用情况(也可以用来查看端口占用)

lsof

COMMAND     PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
java      12011 root   77u  IPv6 4506842      0t0  TCP JDu4e00u53f7:58560->116.196.110.69:aicc-cmi (ESTABLISHED)
java      12011 root   78u  IPv6 4506843      0t0  TCP JDu4e00u53f7:58576->116.196.110.69:aicc-cmi (ESTABLISHED)
java      12011 root   79u  IPv6 4506844      0t0  TCP JDu4e00u53f7:58578->116.196.110.69:aicc-cmi (ESTABLISHED)
java      12011 root   80u  IPv6 4506845      0t0  TCP JDu4e00u53f7:58574->116.196.110.69:aicc-cmi (ESTABLISHED)
java      12011 root   82u  IPv6 4506846      0t0  TCP JDu4e00u53f7:58562->116.196.110.69:aicc-cmi (ESTABLISHED)
java      12011 root   83u  IPv6 4506847      0t0  TCP JDu4e00u53f7:58564->116.196.110.69:aicc-cmi (ESTABLISHED)
java      12011 root   84u  IPv6 4506848      0t0  TCP JDu4e00u53f7:58566->116.196.110.69:aicc-cmi (ESTABLISHED)
java      12011 root   85u  IPv6 4506849      0t0  TCP JDu4e00u53f7:58568->116.196.110.69:aicc-cmi (ESTABLISHED)
java      12011 root   86u  IPv6 4506850      0t0  TCP JDu4e00u53f7:58570->116.196.110.69:aicc-cmi (ESTABLISHED)
java      12011 root   87u  IPv6 4506851      0t0  TCP JDu4e00u53f7:58572->116.196.110.69:aicc-cmi (ESTABLISHED)
docker-pr 13551 root    4u  IPv6 2116824      0t0  TCP *:aicc-cmi (LISTEN)

netstat

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      746/sshd            
tcp        0      0 127.0.0.1:32000         0.0.0.0:*               LISTEN      12011/java          
tcp6       0      0 :::9066                 :::*                    LISTEN      12011/java          
tcp6       0      0 :::6379                 :::*                    LISTEN      28668/docker-proxy  
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::3316                 :::*                    LISTEN      13551/docker-proxy  
tcp6       0      0 :::22                   :::*                    LISTEN      746/sshd            
tcp6       0      0 :::35224                :::*                    LISTEN      12011/java          
tcp6       0      0 :::3326                 :::*                    LISTEN      14203/docker-proxy  
tcp6       0      0 :::1984                 :::*                    LISTEN      12011/java          
tcp6       0      0 :::8066                 :::*                    LISTEN      12011/java          
tcp6       0      0 :::43107                :::*                    LISTEN      12011/java 
262 127.0.0.1
118
103 172.22.100.141
 12 172.22.100.29
  7 172.22.100.183
  6 116.21.17.144
  6 0.0.0.0
  5 192.168.1.109
  4 172.22.100.32
  4 172.22.100.121
  4 172.22.100.108
  4 172.18.1.39
  3 172.22.100.2
  3 172.22.100.190
TIME_WAIT 96(是表示系统在等待客户端响应,以便再次连接时候能快速响应,如果积压很多,要开始注意了,准备阻塞了。这篇文章可以看下:http://blog.51cto.com/jschu/1728001)
CLOSE_WAIT 11(如果积压很多,要开始注意了,准备阻塞了。可以看这篇文章:http://blog.51cto.com/net881004/2164020)
FIN_WAIT2 17
ESTABLISHED 102(表示正常数据传输状态)
Linux 系统下,TCP连接断开后,会以TIME_WAIT状态保留一定的时间,然后才会释放端口。当并发请求过多的时候,就会产生大量的TIME_WAIT状态 的连接,无法及时断开的话,会占用大量的端口资源和服务器资源。这个时候我们可以优化TCP的内核参数,来及时将TIME_WAIT状态的端口清理掉。

来源:http://zhangbin.junxilinux.com/?p=219

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

出现大量close_wait的现象,主要原因是某种情况下对方关闭了socket链接,但是另一端由于正在读写,没有关闭连接。代码需要判断socket,一旦读到0,断开连接,read返回负,检查一下errno,如果不是AGAIN,就断开连接。
Linux分配给一个用户的文件句柄是有限的,而TIME_WAIT和CLOSE_WAIT两种状态如果一直被保持,那么意味着对应数目的通道就一直被占着,一旦达到句柄数上限,新的请求就无法被处理了,接着就是大量Too Many Open Files异常,导致tomcat崩溃。关于TIME_WAIT过多的解决方案参见TIME_WAIT数量太多。

常见错误原因:
1.代码层面上未对连接进行关闭,比如关闭代码未写在 finally 块关闭,如果程序中发生异常就会跳过关闭代码,自然未发出指令关闭,连接一直由程序托管,内核也无权处理,自然不会发出 FIN 请求,导致连接一直在 CLOSE_WAIT 。
2.程序响应过慢,比如双方进行通讯,当客户端请求服务端迟迟得不到响应,就断开连接,重新发起请求,导致服务端一直忙于业务处理,没空去关闭连接。这种情况也会导致这个问题。一般如果有多个节点,nginx 进行负载,其中某个节点很高,其他节点不高,那可能就是负载算法不正常,都落在一台机子上了,以至于它忙不过来。

来源:https://juejin.im/post/5b59e61ae51d4519634fe257
Kernel Interface table
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0      1500 10903298      0      0 0      10847741      0      0      0 BMRU
lo       65536   453650      0      0 0        453650      0      0      0 LRU
eth0      1500 10903335      0      0 0      10847777      0      0      0 BMRU
lo       65536   453650      0      0 0        453650      0      0      0 LRU
eth0      1500 10903363      0      0 0      10847798      0      0      0 BMRU
lo       65536   453650      0      0 0        453650      0      0      0 LRU
eth0      1500 10903393      0      0 0      10847836      0      0      0 BMRU
lo       65536   453650      0      0 0        453650      0      0      0 LRU
eth0      1500 10903437      0      0 0      10847867      0      0      0 BMRU
lo       65536   453650      0      0 0        453650      0      0      0 LRU

网络排查

Server:		103.224.222.221(这个是你本机的信息)
Address:	103.224.222.221#53(这个是你本机的信息)

(下面是百度的信息)
Non-authoritative answer:
www.baidu.COM	canonical name = www.a.shifen.COM.
Name:	www.a.shifen.COM
Address: 220.181.112.244
Name:	www.a.shifen.COM
Address: 220.181.111.188
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
www.baidu.com	canonical name = www.a.shifen.com.
Name:	www.a.shifen.com
Address: 180.97.33.108
Name:	www.a.shifen.com
Address: 180.97.33.107

查看 Linux 内核版本

3.10.0-693.2.2.el7.x86_64

dmesg 打印内核信息

[1880957.563400] Out of memory: Kill process 18694 (perl) score 246 or sacrifice child
[1880957.563408] Killed process 18694 (perl) total-vm:1972392kB, anon-rss:1953348kB, file-rss:0kB

查看系统日志

Out of memory: Kill process 19452 (java) score 264 or sacrifice child

服务器故障排查顺序

请求时好时坏

$request_body   请求体(含POST数据)
$http_XXX       指定某个请求头(XXX为字段名,全小写)
$cookie_XXX     指定某个cookie值(XXX为字段名,全小写)


类似用法:
log_format  special_main  '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$request_body" "$http_referer" '
    '"$http_user_agent" $http_x_forwarded_for "appid=$http_appid,appver=$http_appver,vuser=$http_vuser" '
    '"phpsessid=$cookie_phpsessid,vuser_cookie=$cookie___vuser" ';


access_log  /home/wwwlogs/hicrew.log special_main;

CPU 高,负载高,访问慢(没有数据库)

一次 JVM 引起的 CPU 高排查

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007fd0ac01f000 nid=0x66f runnable 
S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT
0.00   0.00  67.63  38.09  78.03  68.82    124    0.966     5    0.778    1.744
0.00   0.00  67.68  38.09  78.03  68.82    124    0.966     5    0.778    1.744
0.00   0.00  67.68  38.09  78.03  68.82    124    0.966     5    0.778    1.744
0.00   0.00  67.68  38.09  78.03  68.82    124    0.966     5    0.778    1.744
0.00   0.00  67.68  38.09  78.03  68.82    124    0.966     5    0.778    1.744
0.00   0.00  67.68  38.09  78.03  68.82    124    0.966     5    0.778    1.744
0.00   0.00  67.68  38.09  78.03  68.82    124    0.966     5    0.778    1.744
0.00   0.00  67.68  38.09  78.03  68.82    124    0.966     5    0.778    1.744
0.00   0.00  67.71  38.09  78.03  68.82    124    0.966     5    0.778    1.744
0.00   0.00  67.71  38.09  78.03  68.82    124    0.966     5    0.778    1.744

CPU 低,负载高,访问慢(带数据库)

参考资料