Intereting Posts

Изменение ulimit на ubuntu 12.04 Никогда не работает

Я работаю с hadoop и мне нужно изменить количество открытых файлов ulimit -n . Я видел подобные вопросы в stackoverflow и в других местах и ​​пробовал все в этих ответах, но он все равно не работает. Я работаю с ubuntu 12.04 LTS . Вот что я сделал:

изменить пределы в /etc/security/limits.conf , я установил параметры для * и root . Я также изменил ограничения на некоторое число, например, 10000 и unlimited .

 * soft nofile 1513687 * hard nofile 1513687 root soft nofile 1513687 root hard nofile 1513687 

Я также пробовал с настройкой - вместо soft и hard . После этих изменений я внес изменения в файлы /etc/pam.d/ например:

 common-session common-session-noninterative login cron sshd su sudo 

Я добавил session required pam_limits.so к началу каждого файла. Я перезапустил коробку, и настройки не вступили в силу.

Я также обнаружил, что в каталоге /etc/security/limits.d/ есть файлы для hbase и hdfs . Я пробовал изменять лимиты в этих отдельных файлах, но безрезультатно.

Я попытался установить ulimit -S -n unlimited внутри /etc/profile . Это не работает.

Наконец, я попытался установить limit nofile unlimited unlimited внутри файлов /etc/init.d/hadoop* качестве первой строки. Не работал.

Однако одна интересная вещь: у меня нет hbase, установленной на ящике, но у меня есть файл /etc/security/limits.d/ внутри /etc/security/limits.d/ . Параметры в этом файле отображаются с помощью ulimit -n . Но настройки из hdfs.conf и mapred.conf не отражаются. Это говорит о том, что что-то переписывает настройки для hdfs и mapred .

Думаю, я пробовал все, что предлагали люди на нескольких форумах, есть ли что-нибудь еще, что я, возможно, пропустил или сделал неправильно?

Я использую CDH 4.4.0 качестве моего дистрибутива adoop.

Я смог успешно изменить мой приоритет в реальном времени и memlock, выполнив это:

Откройте /etc/security/limits.conf и добавьте эти строки (замените «tyler» на ваше имя пользователя Ubuntu)

  • tyler hard rtprio 95
  • tyler soft rtprio 95
  • tyler hard memlock unlimited
  • tyler soft memlock unlimited

Откройте /etc/pam.d/su и убедитесь, что следующая строка присутствует и не закомментирована:

 session required pam_limits.so 

После этого мне просто нужно было перезагрузить компьютер, и я мог бы использовать эту команду терминала для проверки моего ulimit:

 ulimit -r -l