Изменение 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
mapred
а также hdfs
, Я пытался изменить ограничения в этих отдельных файлах, но безрезультатно.
Я пытался положить ulimit -S -n unlimited
внутри /etc/profile
также. Это не работает.
Наконец, я попытался положить limit nofile unlimited unlimited
внутри /etc/init.d/hadoop*
файлы в первой строке. Не работал.
Одна интересная вещь, хотя, у меня не установлен HBase на коробке, но у меня есть hbase.conf
файл внутри /etc/security/limits.d/
каталог. Настройки в этом файле отражаются ulimit -n
, Но настройки из hdfs.conf
а также mapred.conf
не отражаются. Что говорит о том, что что-то перезаписывает настройки для hdfs
а также mapred
,
Думаю, я перепробовал все, что люди предлагали на нескольких форумах, есть ли что-то, что я мог пропустить или сделал неправильно?
я использую CDH 4.4.0
как мое распределение hadoop.
1 ответ
Я смог успешно изменить мой приоритет ulimit в реальном времени и блокировку памяти, выполнив это:
Откройте /etc/security/limits.conf и добавьте эти строки (замените 'tyler' на ваше имя пользователя Ubuntu)
- Тайлер Хард РТПРИО 95
- тайлер софт ртрио 95
- Тайлер Хард Мемлок неограничен
- Тайлер мягкий мемлок неограничен
Откройте /etc/pam.d/su и убедитесь, что следующая строка присутствует и не закомментирована:
session required pam_limits.so
После этого мне просто нужно было перезагрузить компьютер, затем я мог использовать эту команду терминала, чтобы проверить свой ulimit:
ulimit -r -l