Предотвращение сбоев сервера VPS для inodes и ограничения памяти [закрыто]

Я новичок в VPS и очень плохо разбираюсь в Linux.

Я использовал общий хостинг с 3 лет, где у меня было почти 100 веб-сайтов Joomla, с 16 ГБ дискового пространства и 18 ГБ ежемесячной передачи.

На виртуальном хостинге было предупреждение о сбое резервного копирования Inodes, так как у меня много мелких файлов, но ни на сервере, ни на моих сайтах не произошло сбоя.

Теперь я перешел на VPS с 2 ГБ ОЗУ и жестким диском на 50 ГБ. После перехода на VPS и перемещения сайтов один за другим мой лимит Inodes превышен (137%).

Теперь, когда я пытаюсь распаковать zip-файл размером 600 МБ, он говорит, что предел памяти php превысил что-то ...... и мой сервер упал / отключился.

После обращения в службу поддержки хостинг-провайдера они сказали, что это происходит из-за моих inodes.

Любой, пожалуйста, помогите мне, как я могу настроить сервер, так что - 1. Если файлов больше, чем лимит inodes, просто запретите резервное копирование inodes, но не сбой сервера. 2. Если я загружаю файл большего размера, чем поддерживает сервер, или использую больше памяти, чем имеет сервер, просто отклоните текущую операцию, но не сбой сервера.

-1
задан 17 December 2015 в 12:58
1 ответ

ad inodes - вам нужна более крупная файловая система. Иноды - это что-то вроде телефонного списка, каждый файл и каталог перечислены здесь, чтобы ОС могла легко это найти (они содержат метаданные файла и адрес на диске, где хранятся данные). Если у вас много крошечных файлов, этот список может быть полным, и вы не сможете создать ни одного нового файла - включая временные файлы, файлы pid и так далее. Поэтому вы должны ограничить количество ваших файлов, чтобы получить большую файловую систему.

ad memory limit - вы можете настроить его в php.ini, сколько памяти php может использовать. Когда этот лимит достигнут, PHP просто заканчивается фатальной ошибкой (это не аварийный сервер, просто ошибка в одном запросе). Вы должны установить этот лимит сверху. Но будьте осторожны - это определенно плохая идея - дать PHP всю память сервера. 2 Гб для извлечения 600MB zip слишком мало. Может быть, вы можете использовать функцию exec() и запустить unzip как обычную команду bash.

.
0
ответ дан 5 December 2019 в 20:30

Теги

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