Похоже, у нас может быть (растущая) проблема памяти в нашем apache httpd где-то.apache httpd, используя mem mem, пока не наведет
Быстрый ПИК: http://screencast.com/t/NGAzarD87O
Обратите внимание, что это было отлично работает на оригинальном (физическом) сервер на некоторое время. Теперь на новой виртуальной машине (с большим объемом памяти и процессором) она работает, но медленно съедает память/своп, пока система не зависает.
Если я перезапущу httpd, mem скачет обратно (если мы его поймаем).
httpd.x86_64 2.2.3-76.el5_9 installed
PHP 5.1.6 (cli) (built: Jun 22 2012 06:20:25)
MySQL Server version: 5.0.95
Я не думаю, что это может быть любой из сценариев, которые запускаются/и т.д., как они побежали штраф в течение многих лет на физическом компьютере. Мы попытались сопоставить все конфиги (http, php и т. Д.) На новой машине, но не можем понять, почему httpd продолжает расти.
$ ps -ylC httpd --sort:rss
S UID PID PPID C PRI NI RSS SZ WCHAN TTY TIME CMD
S 0 13814 1 0 78 0 29208 68382 - ? 00:00:00 httpd
S 48 20854 13814 0 76 0 34876 70930 semtim ? 00:00:00 httpd
S 48 20853 13814 0 75 0 36592 71387 semtim ? 00:00:00 httpd
S 48 13822 13814 0 75 0 36780 71430 semtim ? 00:00:00 httpd
S 48 20696 13814 0 75 0 37092 71520 semtim ? 00:00:00 httpd
S 48 13821 13814 0 75 0 37184 71529 semtim ? 00:00:01 httpd
S 48 13820 13814 0 75 0 37220 71527 - ? 00:00:01 httpd
S 48 13824 13814 0 75 0 37236 71513 semtim ? 00:00:01 httpd
S 48 13818 13814 0 75 0 37636 71547 semtim ? 00:00:01 httpd
S 48 13819 13814 0 75 0 37636 71617 semtim ? 00:00:01 httpd
S 48 13823 13814 0 75 0 37888 71689 semtim ? 00:00:01 httpd
S 48 13825 13814 0 75 0 37900 71676 semtim ? 00:00:01 httpd
UPDATE: во время написания этого вопроса вне (возможно 10-15 минут) я перезапустил выше и RSS все сидит на ~ 51072 вместо выше на ~ 37000
Вот пробег из настроек MEM python program
Private + Shared = RAM used Program
.... SNIPPED OUT ....
208.0 MiB + 25.5 MiB = 233.5 MiB httpd (12)
---------------------------------
477.1 MiB
PHP:
max_execution_time = 30
max_input_time = 60
memory_limit = 152M
модули:
$ apachectl -M
httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.1.2 for ServerName
Loaded Modules:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
auth_basic_module (shared)
auth_digest_module (shared)
authn_file_module (shared)
authn_alias_module (shared)
authn_anon_module (shared)
authn_dbm_module (shared)
authn_default_module (shared)
authz_host_module (shared)
authz_user_module (shared)
authz_owner_module (shared)
authz_groupfile_module (shared)
authz_dbm_module (shared)
authz_default_module (shared)
ldap_module (shared)
authnz_ldap_module (shared)
include_module (shared)
log_config_module (shared)
logio_module (shared)
env_module (shared)
ext_filter_module (shared)
mime_magic_module (shared)
expires_module (shared)
deflate_module (shared)
headers_module (shared)
usertrack_module (shared)
setenvif_module (shared)
mime_module (shared)
dav_module (shared)
status_module (shared)
autoindex_module (shared)
info_module (shared)
dav_fs_module (shared)
vhost_alias_module (shared)
negotiation_module (shared)
dir_module (shared)
actions_module (shared)
speling_module (shared)
userdir_module (shared)
alias_module (shared)
rewrite_module (shared)
proxy_module (shared)
proxy_balancer_module (shared)
proxy_ftp_module (shared)
proxy_http_module (shared)
proxy_connect_module (shared)
cache_module (shared)
suexec_module (shared)
disk_cache_module (shared)
file_cache_module (shared)
mem_cache_module (shared)
cgi_module (shared)
version_module (shared)
perl_module (shared)
php5_module (shared)
proxy_ajp_module (shared)
python_module (shared)
ssl_module (shared)
Syntax OK
настройки httpd.conf:
IfModule prefork.c> ignore format on these tags
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
# worker MPM
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
Использование программы в https://code.google.com/p/check-httpd-limits/wiki/Documentation я получил:
Check Apache Httpd MPM Config Limits (Version 2.4) by Jean-Sebastien Morisset - http://surniaulula.com/ Httpd Binary - CONFIG : /etc/httpd/conf/httpd.conf - EXE : /usr/sbin/httpd - MPM : prefork - ROOT : /etc/httpd - VERSION : 2.2 Httpd Processes - PID 10860 (httpd) : 106.93 MB/ 3.95 MB shared - PID 13814 (httpd) : 28.52 MB/ 6.36 MB shared [excluded from averages] - PID 13818 (httpd) : 180.28 MB/ 4.29 MB shared - PID 13819 (httpd) : 182.67 MB/ 4.04 MB shared - PID 13820 (httpd) : 182.45 MB/ 4.08 MB shared - PID 13821 (httpd) : 185.53 MB/ 4.04 MB shared - PID 13822 (httpd) : 176.12 MB/ 4.36 MB shared - PID 13823 (httpd) : 180.05 MB/ 4.04 MB shared - PID 13824 (httpd) : 182.21 MB/ 4.05 MB shared - PID 13825 (httpd) : 179.36 MB/ 4.04 MB shared - PID 20696 (httpd) : 180.10 MB/ 4.04 MB shared - PID 20853 (httpd) : 180.39 MB/ 4.03 MB shared - PID 20854 (httpd) : 180.79 MB/ 4.04 MB shared - PID 21003 (httpd) : 159.77 MB/ 4.05 MB shared - HttpdRealAvg : 166.09 MB [excludes shared] - HttpdSharedAvg : 4.05 MB - HttpdRealTot : 2225.76 MB [excludes shared] - HttpdRunning : 14 Httpd Config - StartServers : 8 - ServerLimit : 256 - MinSpareServers : 5 - MaxSpareServers : 20 - MaxRequestsPerChild : 4000 - MaxClients : 256 Server Memory - Cached : 671.46 MB - MemFree : 547.88 MB - MemTotal : 3819.89 MB - SwapFree : 5951.89 MB - SwapTotal : 5951.99 MB Calculations Summary - OtherProcsMem : 370.74 MB (MemTotal - Cached - MemFree - HttpdRealTot - HttpdSharedAvg) - FreeMemNoHttpd : 3449.15 MB (MemFree + Cached + HttpdRealTot + HttpdSharedAvg) - MaxLimitHttpdMem : 42523.09 MB (HttpdRealAvg * MaxClients + HttpdSharedAvg) - AllProcsTotalMem : 42893.83 MB (OtherProcsMem + MaxLimitHttpdMem) Maximum Values for MemTotal (3819.89 MB) StartServers 8 # (no change) Default is 5 ServerLimit 21 # (256 -> 21) MaxClients MinSpareServers 5 # (no change) Default is 5 MaxSpareServers 20 # (no change) Default is 10 MaxRequestsPerChild 4000 # (no change) Default is 10000 MaxClients 21 # (256 -> 21) (MemFree + Cached + HttpdRealTot + HttpdSharedAvg)/HttpdRealAvg Result ERROR: AllProcsTotalMem (42893.83 MB) exceeds MemTotal (3819.89 MB) and free swap (5951.89 MB) by 33122.05 MB.
Не уверен, что это поможет, но вы можете попробовать отключить некоторые модули, которые вам не нужны. Они также потенциально опасны для безопасности. Например, вы действительно хотите автоматическую индексацию? –
любые предложения о том, с чего начать? Опять же, это были те же самые модули, загруженные на старый сервер. Конечно, эта новая установка может сломать модули, я думаю. – Douglas
То, что я сделал с моим сервером, было disbale modules, пока что-то не сломалось или apache не допустил ошибку при запуске. Если вы не хотите проходить через это, некоторые хорошие, которые нужно удалить, это autoindex, alias, proxy_ *, cgi, perl, php, python (если вы не используете этот язык). Кроме того, подтвердили ли вы, что ваш сервер не только активен? Настройте журналы доступа и проверьте журналы ошибок, если вы еще этого не сделали. –