前几天机器上一直遇到cpu100%,负载很高,经常报out of memory。
今天机器又遇到了,感觉这个东西无从下手,内存不够,tree看了下cache是不是太多了。
清理了一下,其实占用的不是特别多。
看了下机器是,top 1是2核心,发现nginx占用的特别高。感觉无从下手,以为是安装某加安全产品的问题。
于是找了之前的同事(十五年老运维)
他让看下ulimit
[root@iZ25y7mkr9cZ ~]# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 127426 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 65535 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 127426 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
给他看了一下nginx.conf
worker_processes auto; worker_rlimit_nofile 1000000; events { use epoll; worker_connections 512000; }
改成:
user www; worker_processes 2; worker_rlimit_nofile 65535; events { use epoll; worker_connections 65535; }
之前worker_rlimit_nofile和worker_connections给的特别的大,worker_processes是自动。
修改完,果然负载和cpu下来很多。记录一下。
身为搞安全在运维的路上越走越远....