IT-Service - Лимит количества открытых файлов
Понедельник, 24 Сентябрь 2012 05:02

Лимит количества открытых файлов

Автор  green
Оцените материал
(0 голосов)

Лимит на открытые файлы двухуровневый: с одной стороны, имеется лимит ядра на общее число всех открытых файлов, с другой стороны, для каждого процесса также может быть выставлен лимит на число открытых файлов. Как правило, в современных системах лимит ядра достаточно велик (около сотни тысяч файлов), а вот для каждого процесса установлено ограничение в 1024 файловых дескриптора.

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

*    soft    nofile    5000
*    hard    nofile    5000

Чтобы лимит применялся при регистрации пользователей в системе, в файле /etc/pam.d/system-auth должна быть строка:

session   required  /lib/security/pam_limits.so

Обычно она уже имеется в системе.

После повторного входа в систему выставленное вами значение лимита должно быть отображено в выводе команды ulimit -n. Также значения лимита можно узнать из вывода команды winediag.

Разово изменить это значение в Linux можно посредством той же proc, для этого нужно просто записать новое значение в файл file-max (потребуются права суперпользователя):

# echo "104854" > /proc/sys/fs/file-max
# cat /proc/sys/fs/file-max
104854

Чтобы настройка лимитов сохранялась между перезагрузками, необходимо внести нужные значения в файл /etc/sysctl.conf (для новых систем- в одном из файлов каталога/etc/sysctl.d):

# Maximum number of open files permitted
fs.file-max = 104854
Прочитано 5462 раз Последнее изменение Вторник, 02 Октябрь 2012 11:02
Авторизуйтесь, чтобы получить возможность оставлять комментарии