2016-11-10 11 views
-1

Я нахожусь в общедоступной среде хостинга, а недавно получил ошибки выделения памяти. Затем я проверил PHP в cPanel, и я видел, что ограничение памяти составляет 1024 М, но моя оперативная память - всего 512 МБ. Затем я искал его, и я увидел это post, в котором говорилось, что оперативная память должна быть больше предела памяти PHP. И также сказал, что я могу использовать ini_set(), чтобы вручную установить лимит памяти ниже ОЗУ.PHP memory_limit в среде общедоступного хостинга

Мои вопросы:

  1. (для второго мнения) Должен ли я вручную настроить лимит памяти? ниже ОЗУ?
  2. Какой размер должен быть memory_limit, если ОЗУ составляет 512 М?
  3. Если какой-либо случай, я настроил его успешно, ошибка памяти распределения исчезнет?
  4. Будет ли это уменьшать производительность моего веб-сайта?
  5. Что будет с работой моего сайта? [Хорошо и Плохо]

UPDATE

Здесь я получил ошибку снова:

couldn't create child process: /opt/suphp/sbin/suphp for 
+0

512 должно быть много. Я бы посмотрел на ваш скрипт и посмотрел, зачем ему требуется больше 512 МБ. – bassxzero

+0

Какова была ваша ошибка выделения памяти? PHP должен просто поменяться на диск, если не хватает ОЗУ. Я не думаю, что сообщение, которое вы цитировали, является правильным, вы, скорее всего, установите его больше, чем системная RAM. –

+0

Если скрипту требуется больше 512 МБ оперативной памяти, вы делаете что-то неправильно. Вы поставили диагноз, где эта проблема возникает? – Xorifelse

ответ

0

Прежде всего (ответ на # 1) PHP память находится в оперативной памяти, поэтому вы не можете выделить больше, чем емкость вашей памяти. Имейте в виду, что 512 Мб оперативной памяти для всех пользователей на сайте вместе, а не для каждого запроса отдельно.

Второй (ответ на все остальные): Если у вас есть ограничение на 512 Мбайт PHP, и оно превышено, ваши сценарии берут слишком много ресурсов и замедлят ваш сайт. Оптимизируйте все операции и запросы.

+0

uhm, ограничение по умолчанию для php-памяти, которое я видел в cPanel, равно 1024M (устанавливается хостинг-провайдерами), а оперативная память - 512M. Ошибки, которые я получаю, связаны с 'subphp', виртуальной памятью. –