问题描述:

在192.168.130.5这台服务器上,只开启了nginx一个应用,作为反向代理。系统cpu 4核,内存15G,系统CentOS 6.4 ,未启动nginx之前,一切正常,一旦start了nginx,然后系统就有问题,三个症状:

  1. ps -ef|grep nginx的时候,发现master process进程存在两个而不是默认的一个。
  2. 在/var/log/message系统日志总一直报错,内存不够.
    Out of memory: Kill process 23966 (nginx)
    Killed process 23966, UID 498, (nginx) total-vm:3309144kB, anon-rss:3264696kB, file-rss:8kB
    nginx_2018-09-19-17-40-15_1

  3. free -m 命令反复迅速查看的时候,发现可用内存,从十几G一下变成几百兆,然后又变成十几G

问题原因:

cat /usr/local/nginx/conf/nginx.conf 配置文件中,有个设置worker_connections 有问题,设置得过大,结合work_processes 8 的配置,算出来的max_clients超出了系统的限制且每次启动nginx所占用的内存,都严重超过了系统的限制。

nginx_2018-09-19-17-40-15_1

问题解决:

修改worker_connections配置,改小些。