前几天机器上一直遇到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下来很多。记录一下。
身为搞安全在运维的路上越走越远....