[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нужен счетчик памяти
terali
недавно установил на свой сайт систему TestLink на пхп, но она регулярно выдает ошибки типа Fatal error: Out of memory (allocated 13893632) (tried to allocate 30720 bytes) in ...

вот и возникла идея сделать и запустить простенький скрипт, который бы в цикле создавал переменные, а в лог писал данные об объеме выделенной памяти... пока память не будет исчерпана.

скрипт должен быть самым простым:
1 создал переменную
2 записал строку в лог
3 идти к п.1

сам я с пхп почти не знаком, поэтому прошу вашей помощи... помогите вывести хостера на чистую воду, а то он говорит, что выделено аж 128 МБ памяти smile.gif



Спустя 25 минут, 32 секунды (26.03.2010 - 15:58) Gabriel написал(а):
terali
сколько памяти выделено можно узнать запустив вункцию phpinfo();

Спустя 2 часа, 20 минут, 35 секунд (26.03.2010 - 18:19) terali написал(а):
Цитата (Gabriel @ 26.03.2010 - 12:58)
terali
сколько памяти выделено можно узнать запустив вункцию phpinfo();

Спасибо за подсказку, этот метод я попробую.

Но боюсь, что этого может и не хватить, потому что "выделено" может быть 128 МБ, но при попытке реально занять, к примеру, больше 32 МБ какая-нибудь "служба учета памяти" на сервере может заблокировать выделение памяти... хостинг-то виртуальный sad.gif

хотелось бы проверить сколько реально памяти может использовать приложение

Спустя 18 минут, 52 секунды (26.03.2010 - 18:38) Nikitian написал(а):
Не путайте вдс и шаред-хостинг. На шареде всё упирается в ограничения памяти для веб-сервера. На вдске в размер оперативки (доступный) + своп. Если шаред, то смотрите в phpinfo() или сразу ini_get('memory_limit').

Спустя 13 часов, 33 минуты, 19 секунд (27.03.2010 - 08:11) olgatcpip написал(а):
ну.... усли только var_dump..... но ко таксразу не напишу...
Попробуйте у себя запустить на компе скрипт и в деспетчере задачь постомтреть за загрузку процессора.
Знаю что для Apach процесс называется как-то httpd.exe

Спустя 10 часов, 58 минут, 47 секунд (27.03.2010 - 19:10) FatCat написал(а):
$tmp = "";
$dump = file_get_contents('av.gif');
for($i=0;$i<1000;$i++)
{
$tmp .= $dump;
echo $i.": ".memory_get_usage()."<br>";
flush();
}

Файл av.gif весом примерно 50 Кб.
На экране:
0: 184912
1: 234824
...
998: 49995096
999: 50045008

То есть, 50 Мб держит спокойно, можно для тестов или файл увеличить, или число итераций.

Спустя 15 часов, 3 минуты, 25 секунд (28.03.2010 - 09:13) terali написал(а):
Цитата (FatCat @ 27.03.2010 - 16:10)
$tmp = "";
$dump = file_get_contents('av.gif');
for($i=0;$i<1000;$i++)
{
$tmp .= $dump;
echo $i.": ".memory_get_usage()."<br>";
flush();
}

Файл av.gif весом примерно 50 Кб.
На экране:
0: 184912
1: 234824
...
998: 49995096
999: 50045008

То есть, 50 Мб держит спокойно, можно для тестов или файл увеличить, или число итераций.

спасибо большое! сегодня попробую запустить)

Спустя 8 минут, 7 секунд (28.03.2010 - 09:21) terali написал(а):
Цитата (FatCat @ 27.03.2010 - 16:10)

То есть, 50 Мб держит спокойно, можно для тестов или файл увеличить, или число итераций.

только что запустил...
результат:
0: 337256
1: 462480
...
65: 8468368
66: 8593456

Fatal error: Out of memory (allocated 8650752) (tried to allocate 8506257 bytes) in .../memtest.php on line 8

(использовал файлик размером 125 092 Б)

я так понимаю, учет памяти ведется в байтах? то есть на последней удачной итерации мне выделили всего около 8 МБ???

phpinfo(); мне выдал значение memory_limit = 128 М

как же так получается? mad.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.