Назад | Перейти на главную страницу

Apache съедает слишком много барана на ребенка

У меня есть следующая проблема: Apache съедает много барана на ребенка.

Следующие комментарии показывают:

  1. cat / etc / redhat-release - Fedora, выпуск 8 (Werewolf)

  2. бесплатно -m:

             total       used       free     shared    buffers     cached
Mem:          3566       3136        429          0        339       1907
-/+ buffers/cache:        889       2676
Swap:         4322          0       4322

Я знаю, что вы скажете, что беспокоиться не о чем, потому что своп не используется, но я думаю, что пока он не используется.

3. httpd -v:

Версия сервера: Apache / 2.2.14 (Unix)

4. httpd -l:

Скомпилировано в модулях:

core.c

mod_authn_file.c

mod_authn_default.c

mod_authz_host.c

mod_authz_groupfile.c

mod_authz_user.c

mod_authz_default.c

mod_auth_basic.c

mod_include.c

mod_filter.c

mod_log_config.c

mod_env.c

mod_setenvif.c

mod_version.c

mod_ssl.c

prefork.c

http_core.c

mod_mime.c

mod_status.c

mod_autoindex.c

mod_asis.c

mod_cgi.c

mod_negotiation.c

mod_dir.c

mod_actions.c

mod_userdir.c

mod_alias.c

mod_rewrite.c

mod_so.c

5. Список загруженных динамических модулей:

LoadModule authz_host_module

модули / mod_authz_host.so LoadModule

модули include_module / mod_include.so

LoadModule log_config_module

модули / mod_log_config.so LoadModule

setenvif_module

модули / mod_setenvif.so LoadModule

модули mime_module / mod_mime.so

LoadModule autoindex_module

модули / mod_autoindex.so LoadModule

модули vhost_alias_module / mod_vhost_alias.so LoadModule

переговорный_модуль

модули / mod_negotiation.so LoadModule

модули dir_module / mod_dir.so

LoadModule alias_module

модули / mod_alias.so LoadModule

модули rewrite_module / mod_rewrite.so

LoadModule proxy_module

модули / mod_proxy.so LoadModule

модули cgi_module / mod_cgi.so

6. моя директива prefrok

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   25
ServerLimit       80
MaxClients        80
MaxRequestsPerChild  4000
</IfModule>

KeepAliveTimeout 6
MaxKeepAliveRequests 100
KeepAlive On

7. top -u apache: ctrl + M

top - 09:19:42 up 2 days, 19 min,  2 users,  load average: 0.85, 0.87, 0.80
Tasks: 113 total,   1 running, 112 sleeping,   0 stopped,   0 zombie
Cpu(s):  7.3%us, 15.7%sy,  0.0%ni, 75.7%id,  0.0%wa,  0.7%hi,  0.7%si,  0.0%st
Mem:   3652120k total,  3149964k used,   502156k free,   348048k buffers
Swap:  4425896k total,        0k used,  4425896k free,  1944952k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
16956 apache    20   0  700m 135m 100m S  0.0  3.8   2:16.78 httpd
16953 apache    20   0  565m 130m  96m S  0.0  3.7   1:57.26 httpd
16957 apache    20   0  587m 129m 102m S  0.0  3.6   1:47.41 httpd
16955 apache    20   0  567m 126m  93m S  0.0  3.6   1:43.60 httpd
17494 apache    20   0  626m 125m  96m S  0.0  3.5   1:58.77 httpd
17515 apache    20   0  540m 120m  88m S  0.0  3.4   1:45.57 httpd
17516 apache    20   0  573m 120m  88m S  0.0  3.4   1:50.51 httpd
16954 apache    20   0  551m 120m  88m S  0.0  3.4   1:52.47 httpd
17493 apache    20   0  586m 120m  94m S  0.0  3.4   1:51.02 httpd
17279 apache    20   0  568m 117m  87m S 16.0  3.3   1:51.87 httpd
17302 apache    20   0  560m 116m  90m S  0.3  3.3   1:59.06 httpd
17495 apache    20   0  551m 116m  89m S  0.0  3.3   1:47.51 httpd
17277 apache    20   0  476m 114m  81m S  0.0  3.2   1:37.14 httpd
30097 apache    20   0  536m 113m  83m S  0.0  3.2   1:47.38 httpd
30112 apache    20   0  530m 112m  81m S  0.0  3.2   1:40.15 httpd
17513 apache    20   0  516m 112m  85m S  0.0  3.1   1:43.92 httpd
16958 apache    20   0  554m 111m  82m S  0.0  3.1   1:44.18 httpd
 1617 apache    20   0  487m 111m  85m S  0.0  3.1   1:31.67 httpd
16952 apache    20   0  461m 107m  75m S  0.0  3.0   1:13.71 httpd
16951 apache    20   0  462m 103m  76m S  0.0  2.9   1:28.05 httpd
17278 apache    20   0  497m 103m  76m S  0.0  2.9   1:31.25 httpd
17403 apache    20   0  537m 102m  79m S  0.0  2.9   1:52.24 httpd
25081 apache    20   0  412m 101m  70m S  0.0  2.8   1:01.74 httpd

Думаю, это вся информация, необходимая, чтобы помочь мне решить эту проблему. Думаю, вирт память слишком большая, то же разрешение. Расход барана все время увеличивается. Возможно, это утечка памяти, потому что я вижу, что скомпилировано так много статических модулей.

Может ли кто-нибудь помочь мне с этой проблемой? Заранее спасибо.

8. LDD / USR / SBIN / HTTPD

linux-gate.so.1 =>  (0x0012d000)
libm.so.6 => /lib/libm.so.6 (0x0012e000)
libpcre.so.0 => /lib/libpcre.so.0 (0x00157000)
libselinux.so.1 => /lib/libselinux.so.1 (0x0017f000)
libaprutil-1.so.0 => /usr/lib/libaprutil-1.so.0 (0x0019a000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x001b4000)
libldap-2.3.so.0 => /usr/lib/libldap-2.3.so.0 (0x001e6000)
liblber-2.3.so.0 => /usr/lib/liblber-2.3.so.0 (0x00220000)
libdb-4.6.so => /lib/libdb-4.6.so (0x0022e000)
libexpat.so.1 => /lib/libexpat.so.1 (0x00370000)
libapr-1.so.0 => /usr/lib/libapr-1.so.0 (0x00391000)
libpthread.so.0 => /lib/libpthread.so.0 (0x003b9000)
libdl.so.2 => /lib/libdl.so.2 (0x003d2000)
libc.so.6 => /lib/libc.so.6 (0x003d7000)
/lib/ld-linux.so.2 (0x00110000)
libuuid.so.1 => /lib/libuuid.so.1 (0x00530000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00534000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x00548000)
libssl.so.6 => /lib/libssl.so.6 (0x00561000)
libcrypto.so.6 => /lib/libcrypto.so.6 (0x005a6000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x006d9000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00707000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x0079a000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x0079d000)
libz.so.1 => /lib/libz.so.1 (0x007c3000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x007d6000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x007df000)

В настоящее время я не могу перезапустить apache. Я работаю в компании и сейчас часы пик. Я сделаю это около 17:00.

Текущий верхний -u apache: shift + M

top - 12:31:33 up 2 days,  3:30,  1 user,  load average: 0.73, 0.80, 0.79
Tasks: 114 total,   1 running, 113 sleeping,   0 stopped,   0 zombie
Cpu(s):  3.3%us,  4.7%sy,  0.0%ni, 90.0%id,  1.3%wa,  0.3%hi,  0.3%si,  0.0%st
Mem:   3652120k total,  3169720k used,   482400k free,   353372k buffers
Swap:  4425896k total,        0k used,  4425896k free,  1978688k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
16957 apache    20   0  708m 145m 117m S  0.0  4.1   2:11.32 httpd
16956 apache    20   0  754m 142m 107m S  0.0  4.0   2:33.94 httpd
16955 apache    20   0  641m 136m 103m S  5.3  3.8   1:58.37 httpd
17515 apache    20   0  624m 131m  99m S  0.0  3.7   2:03.90 httpd
16954 apache    20   0  627m 130m  98m S  0.0  3.6   2:13.87 httpd
17302 apache    20   0  625m 124m  97m S  0.0  3.5   2:10.80 httpd
17403 apache    20   0  624m 114m  91m S  0.0  3.2   2:08.85 httpd
16952 apache    20   0  502m 114m  81m S  0.0  3.2   1:23.78 httpd
16186 apache    20   0  138m  61m  35m S  0.0  1.7   0:15.54 httpd
16169 apache    20   0  111m  49m  17m S  0.0  1.4   0:06.00 httpd
16190 apache    20   0  126m  48m  24m S  0.0  1.4   0:11.44 httpd
16191 apache    20   0  109m  48m  19m S  0.0  1.4   0:04.62 httpd
16163 apache    20   0  114m  48m  21m S  0.0  1.4   0:09.60 httpd
16183 apache    20   0  127m  48m  23m S  0.0  1.3   0:11.23 httpd
16189 apache    20   0  109m  47m  17m S  0.0  1.3   0:04.55 httpd
16201 apache    20   0  106m  47m  17m S  0.0  1.3   0:03.90 httpd
16193 apache    20   0  103m  46m  20m S  0.0  1.3   0:10.76 httpd
16188 apache    20   0  107m  45m  18m S  0.0  1.3   0:04.85 httpd
16168 apache    20   0  103m  44m  17m S  0.0  1.2   0:05.61 httpd
16187 apache    20   0  118m  41m  21m S  0.0  1.2   0:08.50 httpd
16184 apache    20   0  111m  41m  19m S  0.0  1.2   0:09.28 httpd
16206 apache    20   0  110m  41m  20m S  0.0  1.2   0:11.69 httpd
16199 apache    20   0  108m  40m  17m S  0.0  1.1   0:07.76 httpd
16166 apache    20   0  104m  37m  18m S  0.0  1.0   0:04.31 httpd
16185 apache    20   0 99.3m  36m  16m S  0.0  1.0   0:04.16 httpd

как вы можете видеть, использование памяти растет, например, res (от 135 до 145) м и будет расти до конца памяти. Вы уверены, что эту опцию я настроил:

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   25
ServerLimit       80
MaxClients        80
MaxRequestsPerChild  4000
</IfModule>

KeepAliveTimeout 6
MaxKeepAliveRequests 100
KeepAlive On

верны? Может, стоит уменьшить некоторые из них?

Еще один вопрос, который меня беспокоит: я получил, например, статический модуль mod_negotiation.c скомпилирован в apache и тот же модуль загружен как динамический. Это нормально, что я загрузил дублированный модуль. Но когда я хочу удалить динамический модуль (mod_negotiation.c) из httpd.conf, а затем перезапустить apache, появляется ошибка. Теперь я не могу сказать это сообщение об ошибке, потому что не могу перезапустить apache :(


И снова здравствуйте :) Это использование памяти сразу после перезапуска apache:

top - 16:19:12 up 2 days,  7:18,  3 users,  load average: 1.08, 0.91, 0.91
Tasks: 109 total,   2 running, 107 sleeping,   0 stopped,   0 zombie
Cpu(s): 17.0%us, 25.7%sy, 51.0%ni,  4.7%id,  0.0%wa,  0.3%hi,  1.3%si,  0.0%st
Mem:   3652120k total,  2762516k used,   889604k free,   361552k buffers
Swap:  4425896k total,        0k used,  4425896k free,  2020980k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
13569 apache    20   0 93416  43m  15m S  0.0  1.2   0:02.55 httpd
13575 apache    20   0 98356  38m  16m S 32.3  1.1   0:02.55 httpd
13571 apache    20   0 86808  33m  12m S  0.0  0.9   0:02.60 httpd
13568 apache    20   0 86760  33m  12m S  0.0  0.9   0:00.81 httpd
13570 apache    20   0 83480  33m  12m S  0.0  0.9   0:00.51 httpd
13572 apache    20   0 63520 5916 1548 S  0.0  0.2   0:00.02 httpd
13573 apache    20   0 63520 5916 1548 S  0.0  0.2   0:00.02 httpd
13574 apache    20   0 63520 5916 1548 S  0.0  0.2   0:00.02 httpd
13761 apache    20   0 63388 5128  860 S  0.0  0.1   0:00.01 httpd
13762 apache    20   0 63388 5128  860 S  0.0  0.1   0:00.01 httpd
13763 apache    20   0 63388 5128  860 S  0.0  0.1   0:00.00 httpd

Я постараюсь скомпилировать apache из исходников до последней версии. Спасибо за помощь, ребята.

Из Apache 2.2.15 Список изменений в 2.2.15 есть исправление утечек памяти, но если у вас наибольший результат после запуска apache, то с моей точки зрения это действительно огромно.
Пробовали конфиг воркера?
Не могли бы вы добавить вывод инструмента ldd в свой двоичный файл httpd?

Я бы не волновался на твоем месте. free говорит, что вы используете 800MB и имеете около 2GB свободно. Apache - не очень легкий сервер, и у вас много модулей.