За сутки не остаеться свободной памяти

  • Автор темы Автор темы maxx
  • Дата начала Дата начала

maxx

слип-стримом в поворот
За сутки не остаеться свободной памяти

Столкнулся с такой проблемой: у клиента стоит веб-сервер

2 P4 2.8 GHz
2 Gb RAM
PHP Version 4.3.8
Linux www1.*****.com 2.4.21-15.0.2.ELsmp #1 SMP Wed Jun 16 22:52:07 EDT 2004 i686

'./configure' '--prefix=/usr' '--with-xml' '--enable-bcmath' '--enable-calendar' '--with-curl' '--enable-ftp' '--with-imap' '--with-imap-ssl' '--with-kerberos' '--enable-magic-quotes' '--with-mysql' '--enable-discard-path' '--with-pear' '--enable-sockets' '--enable-track-vars' '--enable-versioning' '--with-zlib'

через сутки работы сервера top показывает 30 Мб свободной памяти. но в списке процессов нет ниодного подвисшего процесса...

на этом сервере есть несколько моих скриптов (в них скачиваются html документы из мира и разбираються). посетителей вроде как 500-1000 в сутки, но не все запускают мои скрипты.

клиент намекает что я виноват.... я даже не знаю как подступиться, если это мои траблы, то как их отмониторить, если не мои. то как мне доказать, что я не виноват :(
 
maxx

Почитай до просветвления man top и ты узнаешь, что такое в понятии top свободная память ...

P.s: и место этой теме точно в offtopic'e
 
man top

...........
Mem Statistics on memory usage, including total available memory, free memory, used memory, shared memory, and memory used for buffers. The display of memory information may be toggled by the m interactive command.
..........

легче не стало

вот что в данный момент на его машине

Mem: 2061576k av, 2029628k used, 31948k free, 0k shrd, 253160k buff 602588k actv, 611400k in_d, 32600k in_c

и клиент ни просто так начал обращать внимаание, а потому что у него его стандартные операции начали занимать в несколько раз больше времени...
 
команда free, строка "-/+ buffers/cache:". курить до просветления
в топе смотреть на параметры buff, cached. много думать

hint: в линуксе нет жесткой границы между кешем и прочей памятью. если процессам нужна память, она будет отбираться у кеша
 
Пересобрать PHP с ограничением памяти.
Показать клиенту или себе [m]memory-get-usage[/m]
Анализировать логи..
Уволит админа серевера - если он не может найти кто сьедает память :)
 
Автор оригинала: admin
Пересобрать PHP с ограничением памяти.
Показать клиенту или себе [m]memory-get-usage[/m]
Анализировать логи..
Уволит админа серевера - если он не может найти кто сьедает память :)
я за memory-get-usage сразу сказал... но его админ начал говорить "вот, у меня её нет, вот подожду пока выйдет новая версия пхп (вроде как про 5.0.1 говорил), а до тех пор давай поищем другие варианты" :(
 
так админ там есть? тогда (если он не ламер) твоего заказчика напрягает только это
>стандартные операции начали занимать в несколько раз больше времени...

смотри, что делал с этими операциями, что они стали тормозить
и память тут не при чем
 
Админ похоже читать не умеет..
Тут вопрос в том - если ты за это время скрипты не менял..
и сервак не юзается для всякого вареза или игрового сервера
ничего тормозить не должно :)

(PHP 4 >= 4.3.2, PHP 5)
memory_get_usage -- Returns the amount of memory allocated to PHP

memory_get_usage() will only be defined if your PHP is compiled with the --enable-memory-limit configuration option.
 
собственно, не похоже, чтобы клиент напрягся из-за памяти..
maxx, твой коментарий?
 
из за разницы во времени я его услышу только вечером...
я тут логи апача скачал с машины. сейчас ковыряю...

буду давить на то шобы он собрал новый пхп с --enable-memory-limit
 
ты смотри на те изменения, которые привели к затормозке
память тут, скорее всего, не причем. сделай ps axfu, он скажет сколько памяти жрет каждый процесс
большая часть памяти, скорее всего, занята кешем и буферами
у меня из 1.5 гигов где-то 450 метров занято процессами, 250 - буферы, а остальное - кеш. свободной памяти в твоем понимании - 32 метра, в понимании ядра - гиг с лишним :)
 
говорит что вроде ничего не ставил нового
а заметил он на том, что процесс бекапа у него медленно шёл.
(rsync + downloading/gzip БД)
он тогда перегрузил машину
на "только что перегруженной машине" процесс бекапа занял около 30 секунд
а на "долго работающей машине" - около 5 минут.

вобщем я сказал что раз у нас за сутки получаеться такая же картина, то пусть перегрузит машину и закроет доступ к скриптам, и пусть машина сутки работает...

и еще я сказал что пусть собирает с memory_get_usage
 
проблема в бекапе? :)
если при бекапе не используются твои скрипты - шли их в дальнее пешее :)
что именно бекапится и как?
если ты не знаешь всех деталей этого процесса, то ничего путного сделать не сможешь - так им и скажи
либо пусть сами решают, либо вместе с тобой разбираются
 
Сверху