Сервер:Linux - Too many open files

Материал из ЛОКАРУС
(Различия между версиями)
Перейти к: навигация, поиск
(Новая страница: «Too many open files, как победить? Конфигурация лимитов файловой системы на число открытых файл …»)
 
 
Строка 1: Строка 1:
Too many open files, как победить?
 
Конфигурация лимитов файловой системы на число открытых файл
 
  
Конфигурация ядра (пункт не обязательный, но на сильно нагруженных системах необходимо)
+
== 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
Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты