VPS нет свободной памяти

123
D
На сайте с 04.03.2007
Offline
113
#11
Art569:
joe /etc/httpd/conf/httpd.conf

🙄, спасибо, вот его содержимое.


[root@server ~]# joe /etc/httpd/conf/httpd.conf
Processing '/etc/joe/joerc'...Processing '/etc/joe/ftyperc'...done
done
I /etc/httpd/conf/httpd.conf Row 1 Col 1 11:09 Ctrl-K H for help
ServerType standalone
ServerRoot "/etc/httpd"
LockFile "/var/run/httpd.lock"
PidFile "/var/run/httpd.pid"
ScoreBoardFile "logs/apache_runtime_status"
ResourceConfig "/dev/null"
AccessConfig "/dev/null"

MinSpareServers 10
MaxSpareServers 15
StartServers 5
MaxClients 256
MaxRequestsPerChild 1000

LoadModule vhost_alias_module /usr/lib/apache/mod_vhost_alias.so
LoadModule env_module /usr/lib/apache/mod_env.so
LoadModule config_log_module /usr/lib/apache/mod_log_config.so
LoadModule agent_log_module /usr/lib/apache/mod_log_agent.so
LoadModule referer_log_module /usr/lib/apache/mod_log_referer.so
LoadModule mime_module /usr/lib/apache/mod_mime.so
LoadModule negotiation_module /usr/lib/apache/mod_negotiation.so
LoadModule status_module /usr/lib/apache/mod_status.so
** Joe's Own Editor v3.4 ** (iso-8859-1) ** Copyright (C) 2006 **

A5
На сайте с 06.08.2006
Offline
46
#12

dmsoh, наверное невсе влезло :). Переверните страницу.

Для этих целей лучше cat /etc/httpd/conf/httpd.conf

Править, наверное нужно MaxClients, и MaxRequestsPerChild в сторону уменьшения.

IF
На сайте с 12.09.2008
Offline
50
#13

Вот это введите:

joe /etc/my.cnf

Возможно тут установлены плохие значения.

Скопируйте их сюда, посмотрим.

А чтобы потом из joe выйти нажмите:

ctrl+k затем z.

InFlame добавил 17.04.2009 в 00:14

Про оптимизацию httpd.conf хорошо написано здесь:

http://www.opennet.ru/base/dev/web_tune.txt.html

A5
На сайте с 06.08.2006
Offline
46
#14

Может лучше локализовать проблему.

Выключаем mysql /etc/init.d/mysqld stop

Смотри память.

Если не помогло выгружаем apache /etc/init.d/httpd stop.

И так далее...

IF
На сайте с 12.09.2008
Offline
50
#15

Цитирую opennet:

Максимальное количество "апачей", которые могут быть запущены
одновременно определяется параметром MaxClients. Это число должно
чуть-чуть превышать максимальное количество посетителей, которые могут
в какой-то момент времени оказаться у вас на сайте. В то же время,
если желающих к вам попасть много, а ресурсов сервера для их
обслуживания не хватает, то излишне высокое число запущенных серверов
только затормозит всю работу. Поэтому желательно установить какое-то
разумное ограничение, скажем 150 или 200.

Время, в течение которого сервер ждет откликов от клиента определяется
параметром Timeout. Обрывы связи иногда случаются и если браузер
посетителя обратился к вашему серверу, не получил ответа и послал
повторный запрос (скажем, пользователь нажал reload), то у вас
запустятся два "апача", причем один из них будет просто висеть и в
течение указанного времени ждать, когда посетитель подтвердит свое
желание посмотреть страничку. По умолчанию этот параметр установлен в
300 секунд, но значительно более эффективным оказалось понизить его до 30.

Включение поддержки KeepAlive может заметно облегчить жизнь. Дело в
том, что в "обычном" режиме для передачи каждого файла клиенту
требуется установить соединение, и если у вас на страничке, например,
есть 10 картинок, то придется устанавливать и разрывать 10 соединений
для их передачи. А в режиме KeepAlive сервер после передачи файла
соединение не разрывает и последующие запросы от этого клиента
обрабатывает, используя уже установленное соединение. Таким образом
экономится время на установку и разрыв соединений, причем для
популярных сайтов эта разница может быть очень заметна!

Для KeepAlive соединений, точно также как и для обычных, надо
установить timeout с помощью параметра KeepAliveTimeout. Так как
сервер, установивший соединение с клиентом, недоступен для других
клиентов пока соединение не будет разорвано, слишком большое значение
может привести к куче серверов, ничего не делающих и просто ждущих не
захочет ли их клиент скачать еще что-нибудь. Причем в это же время
толпа новых посетителей может обнаружить, что ваш сайт не отвечает,
так как достигнуто максимальное число разрешенных "апачей"... Наиболее
практичным значением параметра KeepAliveTimeout является что-то между
десятью и двадцатью секундами.

Как известно, долгое использование какой-то программы может привести к
"утечкам памяти" или каких-то других ресурсов. Чтобы избежать таких
проблем есть два параметра: MaxKeepAliveRequests и
MaxRequestsPerChild. Первый параметр отвечает за принудительное
"убиение" процесса после обработки указанного числа KeepAlive
запросов, а второй - после указанного числа "обычных" запросов. В
принципе, на абсолютном большинстве систем утечек памяти быть не
должно и эти параметры можно сделать достаточно большими - по
несколько тысяч. Но на всякий случай последите за поведением сервера -
не исключено, что "утечки" обнаружатся в какой-то из библиотек,
которые вы используете. Удобнее всего двигаться "снизу вверх" -
сначала установить значения небольшими, скажем, 100 и 50, а потом их
увеличивать, наблюдая за поведением сервера.

Ну и еще три параметра, регулирующие количество запущенных процессов:
StartServers, MinSpareServers и MaxSpareServers. Первый, при старте
сервера запускает указанное число "апачей". Второй определяет
минимальное число бездельничающих в ожидании нового клиента серверов,
а третий - их максимальное число. В качестве первого шага можно
поробовать, скажем, 25, 2 и 10, а дальше посмотреть на загруженность
сайта...
D
На сайте с 04.03.2007
Offline
113
#16
InFlame:
Вот это введите:
joe /etc/my.cnf

Возможно тут установлены плохие значения.
Скопируйте их сюда, посмотрим.

А чтобы потом из joe выйти нажмите:
ctrl+k затем z.

InFlame добавил 17.04.2009 в 00:14
Про оптимизацию httpd.conf хорошо написано здесь:
http://www.opennet.ru/base/dev/web_tune.txt.html

Art569, InFlame

Спасибо. учту.


[root@server ~]# joe /etc/my.cnf
Processing '/etc/joe/joerc'...Processing '/etc/joe/ftyperc'...done
done
I /etc/my.cnf Row 1 Col 1 11:17 Ctrl-K H for help
[mysqld]
skip-locking
skip-bdb
skip-innodb
skip-networking
safe-show-database
query_cache_limit=1M
query_cache_size=16M ## 32MB for every 1GB of RAM
query_cache_type=1
max_user_connections=200
max_connections=500
interactive_timeout=10
wait_timeout=20
connect_timeout=20
thread_cache_size=128
key_buffer=64M ## 128MB for every 1GB of RAM
join_buffer=1M
max_connect_errors=20
max_allowed_packet=32M
table_cache=1024
record_buffer=1M
sort_buffer_size=1M ## 1MB for every 1GB of RAM
** Joe's Own Editor v3.4 ** (iso-8859-1) ** Copyright (C) 2006 **

IF
На сайте с 12.09.2008
Offline
50
#17

Мне кажется Вам лучше к профессионалу обратиться.

Сайты на серваке уже висят.. А если что-то не так сделаете, потеряете гораздо больше. :)

A5
На сайте с 06.08.2006
Offline
46
#18

dmsoh А может вам свап завести

IF
На сайте с 12.09.2008
Offline
50
#19

Поставьте:

table_cache = 4

Если тоже не поможет, верните прежнее значение.

InFlame добавил 17.04.2009 в 00:45

Хороший мануал:

http://www.citforum.ru/database/articles/mysql.shtml

K
На сайте с 19.03.2008
Offline
58
kkc
#20

Там я в процессах видел же nginx, он просто так болтается или как фронтэнд стоит? Если так, то какие там MaxClients 256 - на апаче именно это память жрет, сокращайте до 10-15 и смотрите server-status. Да и просто посмотрите server-status, че тем, сколько idles. Не должен мускул столько жрать, что там за запросы то идут? Останавливайте последовательно мускул/апач, смотрите на память.

в мускуле посокращайте:

max_connections=50

thread_cache_size=8

key_buffer=16M

max_allowed_packet = 16M

thread_stack = 128k

Таймауты в nginx/апаче уменьшите

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий