Установка ulimit правильно для PHP на Linux

Можно использовать EncFS сверху NFS

encfs /encrypted_place_at_nfs /mnt/place_to_access_it_unencrypted

5
18.12.2013, 00:52
2 ответа

Я вижу две потенциальных проблемы.

Ваш предел не может относиться к phpuser

phpuser может проигнорировать Ваш новый предел, потому что он не мог бы использовать PAM для "вхождения в систему", таким образом, /etc/security/limits.conf не применялся бы. Дополнительную информацию см. в этом ответе.

Предел в масштабе всей системы достигнут

Ваш изменяют пользовательские пределы процессов. Ядро также имеет предел в масштабе всей системы на количество открытых дескрипторов файлов.

Это могло бы быть Вашей проблемой. Можно проверить значение как это:

$ sysctl fs.file-max
$ sysctl fs.file-nr

По умолчанию, макс. файлом shoud быть 10% Вашей доступной системной памяти в КБ, который не может быть очень большим количеством: 4 ГБ RAM ~ 400 000 файлов, который является ниже предела, который Вы пытаетесь установить.

В документации говорится:

Три значения в номере файла обозначают количество выделенных дескрипторов файлов, количество выделенных но неиспользованных дескрипторов файлов и максимальное количество дескрипторов файлов. Linux 2.6 всегда сообщает 0 как количество бесплатных дескрипторов файлов - это не ошибка, это просто означает, что количество выделенных дескрипторов файлов точно соответствует количеству используемых дескрипторов файлов.

3
27.01.2020, 20:41
  • 1
    Действительно ли это нормально? ошибка: разрешение отклонило на ключевом 'fs.file-номере', когда Вы редактируете sysctl.conf –  Jason 18.12.2013, 00:39
  • 2
    Необходимо скорее отредактировать fs.file-max. Можно попробовать что-то как sysctl fs.file-max=500000. –  Totor 18.12.2013, 00:46
  • 3
    @FrankThornton кроме того, я отредактировал свой ответ для другой возможной проблемы (PAM). –  Totor 18.12.2013, 00:50

Можно установить ulimit постоянно путем редактирования limits.conf.check этой ссылки

http://singztechmusings.wordpress.com/2011/07/11/ulimit-how-to-permanently-set-kernel-limits-in-linux/

В случае php файлов посмотрите этот поток также

https://stackoverflow.com/questions/15937515/failed-to-open-stream-too-many-open-files

0
27.01.2020, 20:41

Теги

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