Magento хранит удаленные файлы

Внезапно на моем сервере закончилась память. Я попытался проверить место на диске с помощью команды «df -k», но все выглядело нормально. Итак, после отслеживания многих вещей я обнаружил, что служба httpd хранит удаленные файлы во временной памяти, которую нельзя исправить с помощью "df -k". Чтобы проверить последние удаленные файлы, которые все еще находятся в службе, я использовал "sudo lsof | grep deleted" эту команду.

httpd 58324 58501 apache 8ur REG 253,0 0 279075355 /tmp/.ZendSem.SpCcXd (удалено)

enter image description here

Это приложение Magento на сервере centos7 (linux) с apache 2.4.6 после некоторого времени Я обнаружил, что при остановке apache и запуске этой команды «sudo lsof | grep deleted» такой проблемы не возникало. Как только я запускаю apache и проверяю команду «sudo lsof | grep deleted», это снова выглядит как прикрепленный снимок экрана.

1
задан 13 October 2016 в 14:53
1 ответ

Я столкнулся с этой проблемой с разными приложениями на разных платформах. Это распространенная проблема кодирования, когда код, использующий файлы, не закрывает файл, когда он с ним закончен. Код всегда должен закрыть файл по окончании работы с ним.

Одним из распространенных методов защиты временных файлов является открытие файла, его удаление и последующая работа с ним. Возможно, это и есть то, что здесь делается. Однако файл продолжает существовать до тех пор, пока не будет закрыт.

Работа заключается в том, чтобы ограничить количество запросов, которые будет обрабатывать дочерний процесс Apache перед его закрытием. Файлы будут закрыты, когда дочерний процесс завершит свою работу. Установка MaxRequestsPerChild где-то в диапазоне от 100 до 1000 может смягчить проблему. Значение по умолчанию равно 10000.

2
ответ дан 3 December 2019 в 20:33

Теги

Похожие вопросы