- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте, такая проблема, выполнил я к примеру скрипт на php, он забил оперативную память на 400 метров и дальше когда скрипт закончил выполняться, оперативная остается занятой минимум 30 минут, в какою сторону смотреть что бы она очищалась как то быстрей ?
Debian 6 + nginx + PHP 5.4 + php-fpm, без панелей и т.д
Что за скрипт такой, которому нужно целых 400 мб памяти?
оперативная остается занятой минимум 30 минут, в какою сторону смотреть что бы она очищалась как то быстрей ?
Вообще, это нормально. Но если уж так хочется - pm.max_requests.
запускайте PHP через CGI/fastCGI не будет таких чудес
А что тут чудного, linux резервирует память, а потом высвобождает её по ненадобности (если мне память не отшибло) либо по требованию\запросу ресурсов.
Или у вас ситуация когда при повторном запуске скрипта вываливает ошибку "недостаточно памяти" ?
Я вот запускаю CentOS допустим голый установленный, уже куда-то 500 метров памяти уежжает сразу .... так ничего кроме sshd не запущено... не вижу в этом аномалии.
запускайте PHP через CGI/fastCGI не будет таких чудес
Производительность немного меньше будет (но это в моем случае).
ТС, какое ваше дело до работы системы? :)
Когда надо тогда и освободит, это не повлияет на работу скриптов.
тс как замеряли?
Производительность немного меньше будет (но это в моем случае).
В современных условиях потери несущественные а учитывая то что не будет потерь в памяти то вообще может и наоборот.
Та системная память меня не интересует, так она забита не больше 1Gb, когда работают все сайты то не больше 5GB, но вот именно один скрипт за пару минут убивает все 30GB и дальше светиться 50* что-то там от nginx у всех.
LinuxMan
спасибо попробую
ТЕМУ МОЖНО ОФ
<?php
function convert($size) {
$unit=array('b','kb','mb','gb','tb','pb');
return @round($size/pow(1024,($i=floor(log($size,1024)))),0).' '.$unit[$i];
}
echo " ".convert(memory_get_usage()). " - количество памяти, которое было выделено PHP скрипту на данный момент <br> ";
echo "".convert(memory_get_peak_usage()). " - пиковое значение объема памяти, выделенной PHP<br><br> ";
function array_size($arr) {
ob_start();
print_r($arr);
$mem = ob_get_contents();
ob_end_clean();
$mem = preg_replace("/\n +/", "", $mem);
$mem = strlen($mem);
return $mem;
}
$memEstimate = array_size($GLOBALS);
echo " ".$memEstimate." содержимое буфера вывода (использования основной памяти) <br>";
?>
и посмотрите в xdebug, на что память уходит