2.8.8. memory_limit
Про параметр
Параметр memory_limit задає максимальний обсяг пам'яті, який можуть використовувати скрипти сайту. Він допомагає запобігати ситуаціям, коли неякісно написані скрипти витрачають всю доступну пам'ять сервера.
Як працює ліміт
Встановлений для memory_limit обсяг пам'яті виділяється для кожного запущеного скрипта окремо, тому одночасний запуск декількох скриптів не може спожити всю виділену пам'ять memory_limit, але може спожити всю оперативну пам'ять хостинг-акаунта (можна побачити на графіках споживання серверних ресурсів). Важливо розуміти, що при запуску скрипта кількість пам'яті, що виділяється під ліміт memory_limit, не «забирається» з оперативної пам'яті. Пам'ять виділяється поступово в міру її споживання кожним скриптом, але не може перевищувати заданий ліміт, тому думка, що запустивши два скрипти при значенні memory_limit 1024 МБ буде використано відразу 2048 МБ, в корені невірна.
Визначити заздалегідь, скільки пам'яті або який ліміт memory_limit буде потрібно сайту або скрипту, практично неможливо, оскільки все залежить від якості самих скриптів і обсягів даних, які вони обробляють.
Значення параметра
- Не впливає на швидкість роботи скриптів.
- Максимальне значення залежить від використовуваного тарифу:
- На звичайному хостингу: від 512 до 1536 МБ.
- На бізнес-хостингу — в межах доступного за тарифом обсягу оперативної пам'яті.
- Для консолі та cron значення за замовчуванням дорівнює 512 МБ. Його можна прирівняти до значення одного з сайтів, якщо під час запуску скрипта підключати ini-файл сайту.
Налаштування
- Відкрийте розділ «Налаштування PHP» сайту, для якого потрібно змінити значення параметра.
- Вкажіть потрібне значення навпроти «php_memory_limit» і внизу сторінки натисніть «Зберегти»:

- Доступні значення — від 1 МБ до максимально доступного в поточному тарифі.
- Якщо вказати 0, після збереження значення буде дорівнювати максимально доступному в поточному тарифі.
- Зачекайте приблизно 10-15 хвилин, поки зміни набудуть чинності.
Збільшення
На постійній основі:
- Шляхом переходу на тариф вище.
- Шляхом зміни значення memory_limit у налаштуваннях PHP сайту, якщо в тексті помилки вказано обсяг, менший за доступний у поточному тарифі.
Коментарі