Сервер:Linux - Too many open files
Yura (обсуждение | вклад) (Новая страница: «Too many open files, как победить? Конфигурация лимитов файловой системы на число открытых файл …») |
Yura (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | |||
− | |||
− | Конфигурация ядра (пункт не обязательный, но на сильно нагруженных системах необходимо) | + | == Too many open files. Конфигурация лимитов файловой системы на число открытых файлов. == |
+ | |||
+ | |||
+ | '''Конфигурация ядра''' (пункт не обязательный, но на сильно нагруженных системах необходимо) | ||
Строка 12: | Строка 13: | ||
Текущее состояние числа открытых файлов можно узнать так: | Текущее состояние числа открытых файлов можно узнать так: | ||
− | cat /proc/sys/fs/file-nr | + | cat /proc/sys/fs/file-nr |
по порядку он выдает три значения: число открытых в данный момент файлов; число открытых, но не используемых файлов; максимальное число открытых файлов | по порядку он выдает три значения: число открытых в данный момент файлов; число открытых, но не используемых файлов; максимальное число открытых файлов | ||
Открываем файл: | Открываем файл: | ||
− | sudo mcedit /etc/sysctl.conf | + | sudo mcedit /etc/sysctl.conf |
− | имена всех возможных параметров можно узнать так: sysctl -a | + | имена всех возможных параметров можно узнать так: |
+ | sysctl -a | ||
Нас интересует параметр: fs.file-max | Нас интересует параметр: fs.file-max | ||
Строка 28: | Строка 30: | ||
− | И вызываем для сохранения настроек: | + | И вызываем для сохранения настроек: |
− | /sbin/sysctl -p | + | /sbin/sysctl -p |
Строка 40: | Строка 42: | ||
Открываем файл: | Открываем файл: | ||
− | sudo mcedit /etc/security/limits.conf | + | sudo mcedit /etc/security/limits.conf |
Текущая версия на 06:39, 4 декабря 2013
Too many open files. Конфигурация лимитов файловой системы на число открытых файлов.
Конфигурация ядра (пункт не обязательный, но на сильно нагруженных системах необходимо)
Нам надо изменить параметр:
cat /proc/sys/fs/file-max
обозначающий число одновременно открытых файлов Текущее состояние числа открытых файлов можно узнать так:
cat /proc/sys/fs/file-nr
по порядку он выдает три значения: число открытых в данный момент файлов; число открытых, но не используемых файлов; максимальное число открытых файлов
Открываем файл:
sudo mcedit /etc/sysctl.conf
имена всех возможных параметров можно узнать так:
sysctl -a
Нас интересует параметр: fs.file-max
Добавляем в файл следующую строку:
fs.file-max = 999999
И вызываем для сохранения настроек:
/sbin/sysctl -p
Настраиваем ulimit
Текущее состояние настроек ulimit можно посмотреть:
ulimit -a
Открываем файл:
sudo mcedit /etc/security/limits.conf
и добавляем с него следующую строку:
* - nofile 999999
Устанавливаем для текущего шелла ограничение:
ulimit -n 999999
Перезапускаем Локарус-сервер:
/etc/init.d/locarus-server stop /etc/init.d/locarus-server start