|
|
|
| даже при отсутсвии запросов к серверу | |
|
|
|
|
|
|
|
для: tarasian666
(16.01.2010 в 11:25)
| | это нормально, апач всегда запускает несколько параллельных потоков сразу | |
|
|
|
|
|
|
|
для: GeorgeIV
(16.01.2010 в 12:09)
| | но он загружает всю оставшуюся память, где то 600мб, может жрал бы и больше просто память кончается ) | |
|
|
|
|
|
|
|
для: tarasian666
(16.01.2010 в 12:51)
| | процессов httpd у меня обычно только два
В netstat /abn может быть много httpd.exe
В денвер3 такие
127.0.0.1:80 LISTENING [httpd.exe]
127.0.0.2:443 LISTENING [httpd.exe]
127.0.0.1:443 LISTENING [httpd.exe]
127.0.0.2:8648 LISTENING [httpd.exe]
|
но процессов только два
один тот который запускается коммандой httpd -k start например если как сервис
, а второй тот который запускается первым с коммандной строкой например
httpd.exe -d Z:/usr/local/apache
у первого процесса только одна нить (thread)
, у второго 255 или 253 у меня на двух из пачек серверов
рабочей памяти каждому пишет ~~25M
, если конечно например php_module или какой другой не начнёт потреблять память
, то-же самое с загрузкой процессора бывает из-за зацикливаний каких-нибудь php-скриптов
MySQL это да , смотря как настроено, у меня 86M
, и большой кусок файла подкачки из-за того что я настройки innoDB накрутил потестить | |
|
|
|
|
|
|
|
для: heed
(16.01.2010 в 15:43)
| | вобще то сервер не у меня, когда через ssh смотрю процессы, упорядочиваю по использованию памяти, и процесс httpd потихоньку занимает все окно... каждый по ~ 9мб.
процессов где то штук з 80 минимум.
что то только что поправили, процессов уже не больше 30.
жрут уже по 3мб (тут уже я поправил)
прошло время и ситуация та же... свободной памяти нет | |
|
|
|
|
|
|
|
для: tarasian666
(16.01.2010 в 15:56)
| | попробовал у себя под виндовсом посмотреть что за модуль к mod_perl , который позволяет убивать лишние процессы apache
, но у меня с такими ошибками вывалилось
Syntax error on line 359 of H:/usr/local/apache/conf/httpd.conf:
Apache2::SizeLimit at the moment works only with non-threaded MPMs at /usr/local/perl/site/lib/Apache2/SizeLimit.pm line 51.\nBEGIN failed--compilation aborted at /usr/local/perl/site/lib/Apache2/SizeLimit.pm line 98.\nCompilation failed in require at H:/usr/local/apache/conf/httpd.conf line 360.\nBEGIN failed--compilation aborted\t(in cleanup)
|
если там есть mod_perl возможно можно как-то таким-же способом попробоватьчто-то делать
, я так пробовал
PerlModule ModPerl::Registry
<Perl>
use Apache2::SizeLimit;
# sizes are in KB
$Apache2::SizeLimit::MAX_PROCESS_SIZE = 12000; # 12MB
$Apache2::SizeLimit::MIN_SHARE_SIZE = 6000; # 6MB
$Apache2::SizeLimit::MAX_UNSHARED_SIZE = 5000; # 5MB
</Perl>
PerlCleanupHandler Apache2::SizeLimit
<Location /perl-status>
SetHandler modperl
PerlOptions +GlobalRequest
PerlResponseHandler Apache2::Status
</Location>
<Directory /home/*/cgi-bin/>
Options +ExecCGI
...........
|
без <Perl></Perl> Apache2::SizeLimit всё работало.
но должна быть просто возможность сделать максимально возможное число процессов
, в файле extra/httpd-mpm.conf , что-то похожее
, но не знаю чего точно нужно | |
|
|
|
|
|
|
|
для: heed
(16.01.2010 в 19:05)
| | вот и я не знаю что точно нужно | |
|
|
|
|
|
|
|
для: tarasian666
(16.01.2010 в 19:17)
| | Посмотрите что вообще там в этом файле httpd-mpm.conf
, если его содержимое не перенесли куда-то
И посмотрите какие из модулей перечисленных там включены
, следовательно какие секции настроек действующие.
Но наверное сможет что-то точно сказать только тот кто сталкивался точно с таким-же
// в phpinfo() даже должно быть видно модули | |
|
|
|
|
|
|
|
для: heed
(16.01.2010 в 19:27)
| | httpd-mpm.conf - нет такого | |
|
|
|
|
|
|
|
для: tarasian666
(16.01.2010 в 19:51)
| | Незнаю, может я вообще попутал
, и такое не бывает в никсовых серверах
, подумал что за это должны отвечать диррективы типа
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
<IfModule mpm_netware_module>
ThreadStackSize 65536
StartThreads 250
MinSpareThreads 25
MaxSpareThreads 250
MaxThreads 1000
MaxRequestsPerChild 0
MaxMemFree 100
</IfModule>
..............
|
| |
|
|
|
|
|
|
|
для: heed
(16.01.2010 в 20:18)
| |
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
|
| |
|
|
|
|
|
|
|
для: tarasian666
(16.01.2010 в 20:45)
| | но неизвестно-же какие из этих модулей включены :)
MaxClients
Это самый важный параметр prefork MPM, задающий максимальное число дочерних процессов, которым разрешено запустится (которые будут созданы для обработки запросов).
Значение выставляется большим, чтобы обрабатывать одновременно много запросов, а меньшим для снижения потребления памяти!
http://www.salex.ru/book/book.php?httpd_prefork
// заранее снимаю с себя всю ответственность за возможую порчу сервера :) | |
|
|
|
|
|
|
|
для: heed
(16.01.2010 в 21:17)
| | >Значение выставляется большим, чтобы обрабатывать одновременно много запросов, а меньшим для снижения потребления памяти!
от перестановки слагаемых...
либо меньше файлов но с большим исп. памяти либо много файлов с меньшим использованием памяти.. | |
|
|
|
|
|
|
|
для: tarasian666
(16.01.2010 в 21:49)
| | уменьшение процессов освободит память
, просто вместе с этим уменьшится колличество одновременныо возможных подключений к серверу
уменьшить лимит памяти потребляемой каждым процессом тоже должно быть как-то можно, даже без RLimitMEM например http://www.apache.ru/docs/fishki.html
, но не пробовал | |
|
|
|
|
|
|
|
для: heed
(16.01.2010 в 23:21)
| | здешний форум мне помог не намного больше чем гугл... | |
|
|
|
|
|
|
|
для: tarasian666
(18.01.2010 в 16:17)
| | Может быть вас досят? Посмотрите обращения в логе. | |
|
|
|
|
|
|
|
для: Agronom
(18.01.2010 в 23:47)
| | Может быть.. но сейчас уже все хорошо. И старих логов уже нет | |
|
|
|