Куда утекает память?

12
D
На сайте с 28.06.2008
Offline
1101
2755

Господа, я не могу понять почему у меня такой большой расход памяти? Сейчас онлайн не более 100 человек. Есть 6 сайтов на Джумле. ОС Дебиан.

Вот часть конфига апача

ServerRoot "/etc/apache2"


#
# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
#
#<IfModule !mpm_winnt.c>
#<IfModule !mpm_netware.c>
LockFile /var/lock/apache2/accept.lock
#</IfModule>
#</IfModule>

#
# PidFile: The file in which the server should record its process
# identification number when it starts.
# This needs to be set in /etc/apache2/envvars
#
PidFile ${APACHE_PID_FILE}

#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 15

##
## Server-Pool Size Regulation (MPM specific)
##

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 200
</IfModule>

# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 200
</IfModule>

# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

#
# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives. See also the AllowOverride
# directive.
#

AccessFileName .htaccess

#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
jpg 1.jpg
Sov1et
На сайте с 02.08.2010
Offline
3
#1

Что установлено на сервере? Nginx, apache?

Дайте вывод команды top и конфиги

Linux-админ
D
На сайте с 28.06.2008
Offline
1101
#2

Nginx, apache, е акселератор, 5 из 6 сайтов работают на фаст CGI. Последний самый посещаемый - пхп как модуль апач

Dram добавил 27.08.2010 в 11:45

top - 11:44:53 up 24 min,  1 user,  load average: 1.31, 1.12, 0.81
Tasks: 48 total, 5 running, 43 sleeping, 0 stopped, 0 zombie
Cpu(s): 59.0%us, 13.8%sy, 0.0%ni, 26.6%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1048576k total, 712896k used, 335680k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 0k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5161 dram 15 0 54408 28m 22m S 26 2.8 0:24.82 php
7663 dram 16 0 54380 28m 22m R 17 2.8 0:16.11 php
5163 dram 16 0 58692 31m 22m R 13 3.1 0:16.60 php
19485 www-data 15 0 55824 13m 8188 S 6 1.3 0:03.61 apache2
7675 dram 15 0 53128 27m 22m S 5 2.7 0:22.22 php
23906 www-data 15 0 55816 12m 7580 S 4 1.2 0:02.03 apache2
28300 www-data 15 0 56108 11m 6528 S 4 1.2 0:00.12 apache2
9618 www-data 15 0 55912 13m 8884 S 3 1.4 0:08.10 apache2
32637 mysql 15 0 70752 42m 4768 S 3 4.1 0:30.27 mysqld
32694 www-data 15 0 7584 4216 808 R 2 0.4 0:08.61 nginx
7295 www-data 15 0 56104 13m 8388 S 0 1.3 0:08.46 apache2
26207 www-data 15 0 55828 12m 7824 S 0 1.3 0:00.35 apache2
26218 www-data 15 0 56332 13m 8072 S 0 1.3 0:00.75 apache2
32695 www-data 15 0 5496 2140 812 S 0 0.2 0:08.33 nginx
1 root 15 0 1984 692 592 S 0 0.1 0:00.22 init
1334 dovecot 15 0 3508 1596 1344 S 0 0.2 0:00.00 pop3-login
1335 dovecot 15 0 3508 1592 1344 S 0 0.2 0:00.01 pop3-login
1336 dovecot 15 0 3508 1592 1344 S 0 0.2 0:00.00 pop3-login
1337 dovecot 15 0 3512 1596 1348 S 0 0.2 0:00.00 imap-login
1338 dovecot 15 0 3512 1596 1348 S 0 0.2 0:00.00 imap-login
1339 dovecot 15 0 3512 1592 1348 S 0 0.2 0:00.00 imap-login
3680 dram 15 0 53028 26m 21m S 0 2.6 0:03.45 php
5178 dram 15 0 52584 27m 22m S 0 2.7 0:27.93 php
5427 root 15 0 8172 2688 2216 R 0 0.3 0:00.13 sshd
5481 root 15 0 4124 1672 1288 S 0 0.2 0:00.00 bash
5636 root 22 0 35880 8256 4648 S 0 0.8 0:00.91 ispmgr
7667 dram 16 0 54148 28m 22m S 0 2.8 0:16.56 php
7691 dram 15 0 51500 26m 22m S 0 2.6 0:22.82 php
9826 dram 15 0 52136 21m 16m S 0 2.1 0:01.17 php
9833 dram 15 0 53336 22m 17m S 0 2.2 0:01.75 php
19467 www-data 15 0 55888 13m 8676 S 0 1.3 0:03.93 apache2
19731 www-data 15 0 56064 13m 8828 S 0 1.4 0:02.44 apache2
23892 www-data 15 0 55828 13m 8348 S 0 1.3 0:01.71 apache2

Dram добавил 27.08.2010 в 11:48

Перевел самый посещаемый сайт на фаст CGI , расход памяти уменьшился мегов на 150!!!

Но теперь на могу зайти в админку, пишет

Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/var/www/dram/data/www/сайт.ru/configuration.php) is not within the allowed path(s): (.) in /var/www/dram/data/www/сайт.ru/administrator/index.php on line 21

Warning: Cannot modify header information - headers already sent by (output started at /var/www/dram/data/www/сайт.ru/administrator/index.php:21) in /var/www/dram/data/www/сайт.ru/administrator/index.php on line 22

(по этой причине он и работал у меня на ПХП как модуль Апач)

M
На сайте с 01.12.2009
Offline
235
#3

действует ограничение, странно что оно ругается на php-cgi, надо смотреть пути и т п

Администратор Linux,Freebsd. построения крупных проектов.
[umka]
На сайте с 25.05.2008
Offline
456
#4

А почему на картинке так много процессов mysqld ?

Лог в помощь!
D
На сайте с 28.06.2008
Offline
1101
#5

А шоб я знал..... И судя по всему они память и жрут, так как на один такой процесс тратится по 3% от всей памяти

Dram добавил 27.08.2010 в 12:05

В админку не пускает - но сайт работает и довольно шустрее чем раньше

Dram добавил 27.08.2010 в 12:06

Вот что нашел по ошибке

Ошибка: Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(...) is not within the allowed path(s):... ?

Это сообщение о том, что путь к домашней директории вашего сайта не включён в список допустимых путей, указанных в параметре open_basedir, в файле php.ini.
open_basedir ограничивает список директорий, внутри которых PHP скрипты могут читать файлы. В результате ошибка выходит из-за того, что скрипт PHP пытается открыть файл, к которому у него нет доступа.

Один из способов решения этой проблемы – это включить путь к домашней директории в список путей, читаемых PHP скриптом (указанных параметром open_basedir). Например, чтобы указать, что скрипт PHP имеет право читать файлы из папок /usr/home/vhosts и /tmp, используйте синтаксис:

open_basedir =/usr//home/vhosts:/tmp

Только не могу понять как и где нужно это прописать? В пхп ини или в конфиге апача?

Sov1et
На сайте с 02.08.2010
Offline
3
#6
Dram:
А шоб я знал..... И судя по всему они память и жрут, так как на один такой процесс тратится по 3% от всей памяти

Если не используете innodb отключите его.

D
На сайте с 28.06.2008
Offline
1101
#7

Уже посоветовали вчера - отключил. Тогда сервер вообще падал. Это чуть помогло. Но все равно мне кажется расход большой. При пике нагрузки, когда он лайн висит человек 250 - памяти жрет метров 700-900, и пару раз в неделю сервак падает

Dram добавил 27.08.2010 в 12:51

Ну вот опять память скаканула до 100% и сервер упал :(

[umka]
На сайте с 25.05.2008
Offline
456
#8
Dram:
Dram добавил 27.08.2010 в 12:51
Ну вот опять память скаканула до 100% и сервер упал :(

Своп по каким убеждениям не используете?

D
На сайте с 28.06.2008
Offline
1101
#9

эээ.... Вы о чем?🤪 Если это поможет как ее начать пользовать? :)

Dram добавил 27.08.2010 в 13:11

Вот что сервер ответил...если это поможет:

4758:~# swapon -s

Filename Type Size Used Priority

4758:~#

Wolfnet
На сайте с 26.08.2010
Offline
6
#10

Dram, своп поможет тем, что сервер падать не будет при заполнении памяти. Проблему с утечкой памяти он не решит. Создайте пустой файл, забейте его нулями на нужный размер с помощью dd, и подключите как своп файл.

Кстати, может часть конфига мускула выложите, раз уж он память забивает?

12

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