apache2ctl: 87: ulimit: ошибка, устанавливающая предел (Операция, не разрешенная)

Это немного хитро в W2K8 и W2K8R2. Существует несколько настроек GPO для сокрытия сети, но я не нашел, что они работают все настолько хорошо. Одна вещь, которую можно сделать, состоит в том, чтобы отключить Обнаружение сети на клиентских машинах. Это должно эффективно "скрыть" сетевое содержание и, пока пользователи не являются локальными администраторами, они не должны мочь включить Обнаружение сети.

12
задан 29 November 2012 в 15:42
3 ответа

Это может помочь: - http: // ubuntuforums. org / showthread.php? p = 11950245 # post11950245

sudo service apache2 restart # no errors
service apache2 restart      # errors
16
ответ дан 2 December 2019 в 21:32

Проблема возникает из / usr / sbin / apache2ctl (на Debian). Проверить это:

~$ grep ULIMIT /usr/sbin/apache2ctl
ULIMIT_MAX_FILES="${APACHE_ULIMIT_MAX_FILES:-ulimit -n 8192}"
if [ "x$ULIMIT_MAX_FILES" != "x" ] ; then
    $ULIMIT_MAX_FILES

Здесь устанавливается разрешенное количество открытых файлов 8192. В вашем случае попытка и неудача.

Поэтому, чтобы избежать появления ошибки, когда apache2ctl делает это, настройте параметры вашей системы в файле /etc/security/limits.conf, добавив эти две строки:

*               soft    nofile          8192
*               hard    nofile          8192

Я не увеличивал значение больше, чем необходимо (8192 ), потому что я не знаю, на что еще это повлияет. Однако это избавляет от предупреждения.

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

ulimit -n

Возможно, вы захотите прочитать, где я его нашел: stackoverflow - установка ulimit

5
ответ дан 2 December 2019 в 21:32

1. Проверьте и измените значение ulimit на вашем хост-компьютере. Добавьте значения в файл / etc / profile , чтобы они вступили в силу.

ulimit -u 10240
ulimit -n 8192     #This configuration is what we most needed
ulimit -d unlimited
ulimit -m unlimited
ulimit -s unlimited
ulimit -t unlimited
ulimit -v unlimited

source /etc/profile

или вы можете:

sudo sh -c 'printf "\nulimit -HSn 999999\n" >> /etc/sysconfig/docker'

2. Перезапустить службу докеров и сделать конфигурацию эффективной.

sudo service docker restart

3. Протестируйте ulimit в контейнере.

ulimit -n

Это мой результат теста!

Советы: Возможно, вы также можете попробовать команду, указанную ниже (предварительное условие: ulimit на хост-машине должно быть больше 8192), но I am не удалось .

docker run --privileged -it -p xxxx:80 --ulimit data=8192 linode/lamp /bin/bash
2
ответ дан 2 December 2019 в 21:32

Теги

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