Hello! On Tue, Jan 11, 2022 at 05:54:36AM +0300, Дугин Сергей wrote:
> Здравствуйте, Maxim. > > Вы писали 10 января 2022 г., 22:07:16: > > > А что при этом в конфиге? В частности, worker_connections и > > всевозможные буфера (client_header_buffer_size, > > large_client_header_buffers, client_body_buffer_size, > > proxy_buffer_size, proxy_buffers, output_buffers и так далее)? > > Если включён HTTP/2 - то ещё и http2_max_concurrent_streams. > Эти параметры все по дефолту. > HTTP/2 - нет > http2_max_concurrent_streams - тоже нет > > > Отдельно интересно нет ли в конфиге сторонних модулей. А если > > есть, то воспроизводится ли проблема без них. > Сторонних модулей нет и не ставил > в папке /usr/lib64/nginx/modules/ > нет ничего [...] > > Судя по всему, растут те процессы, которые собственно занимаются > > обработкой соединений: на современных линуксах распределение > > соединений между рабочими процессами может быть сильно > > неравномерным, лечить проще всего включением accept_mutex'а > > (https://trac.nginx.org/nginx/ticket/2285). > Сделал worker_processes auto; > форкеров стало ровно столько сколько ядер и теперь все форкеры кушают > примерно одинаково: > 6310 root 20 0 4494660 3.3g 2456 S 0.0 2.6 0:01.82 nginx > 15109 root 20 0 4494660 3.3g 2452 S 2.3 2.6 0:01.32 nginx > 15133 root 20 0 4494660 3.3g 2444 S 0.3 2.6 0:00.89 nginx > 6216 root 20 0 4494660 3.3g 2420 S 0.0 2.6 0:00.65 nginx > 6267 root 20 0 4494660 3.3g 2412 S 0.0 2.6 0:00.99 nginx > 15085 root 20 0 4494660 3.3g 2344 S 1.6 2.6 0:00.94 nginx > 6297 root 20 0 4494660 3.3g 2336 S 0.0 2.6 0:01.53 nginx > 15097 root 20 0 4494660 3.3g 2332 S 2.3 2.6 0:01.09 nginx > 14858 root 20 0 4494660 3.3g 2256 S 0.0 2.6 0:00.40 nginx > 15045 root 20 0 4494660 3.3g 2300 S 0.7 2.6 0:00.54 nginx > 15026 root 20 0 4494660 3.3g 2288 S 0.7 2.6 0:00.55 nginx > и так далее В смысле - после включения accept_mutex'а? > При запуске писало 1.7g, сейчас уже 3.3g > то есть при запуске потребляет 48*1.1=81,6g памяти, > а сейчас уже 158,4G и сервер уже очень бодро свапится. > > > > Почему растут - отдельный вопрос. Для начала, наверное, стоит > > посмотреть, до какого размера процессы могут расти по памяти в > > соответствии с текущими настройками. Грубая оценка максимального > > потребления памяти одним рабочим процессом - worker_connections * > > <сумма всех буферов>. Если она не превышена - то вопрос, скорее, > > в настройках, не соответствующих имеющемуся объёму памяти. Если > > превышена - то имеет смысл разбираться дальше. > > worker_connections поставил по дефолту > буфера тоже все по дефолту > worker_processes сделал 6 > > перезапустил вижу по top такое: > USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND > root 15962 4.3 2.6 4477008 3467940 ? S 05:42 0:01 nginx: > worker process > root 15954 1.6 2.6 4477008 3467916 ? S 05:42 0:00 nginx: > worker process > root 15972 1.4 2.6 4477008 3467876 ? S 05:42 0:00 nginx: > worker process > root 15982 0.4 2.6 4477008 3467720 ? S 05:42 0:00 nginx: > worker process > root 15993 0.2 2.6 4477008 3467588 ? S 05:42 0:00 nginx: > worker process > root 44803 15.8 2.6 4477004 3467200 ? Ss 05:39 0:30 nginx: > master process /usr/sbin/nginx -c /etc/nginx/nginx.conf > root 16005 0.1 2.6 4477008 3465784 ? S 05:42 0:00 nginx: > worker process > > В итоге 6 процессов кушают 3467940*6 около 20 гиг памяти при старте. Занятно. А можно посмотреть конфиг полностью? В идеале - сразу вывод "nginx -T", но можно выкинуть/отфильтровать имена серверов и прочую приватную информацию. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru