FAQ по файловым дескрипторам
Что такое файловый дескриптор?
http://ru.wikipedia.org/wiki/Файловый_дескриптор
Каким образом система потребляет файловые дескрипторы?
Допустим у Вас на VDS 100 сайтов. У каждого сайта имеется отдельный access.log и error.log, куда пишутся соответственно логи и ошибки. Когда
запускается apache, ему нужно открыть все эти файлы для записи. Таким образом, в системе должно быть свободно как минимум 200 дескрипторов (100 сайтов
x 2 лог-файла). Если их меньше чем нужно, apache запуститься не сможет.
Для отдачи контента также нужны свободные дескрипторы.
В каждой mysql-базе могут находиться десятки таблиц. Параметр table_cache (table_open_cache с версии 5.1.3) задает количество кэшированных открытых
таблиц для всех потоков. Его повышение способно ускорить доступ к данным, однако это также приводит с существенному потреблению дескрипторов.
Какие ограничения есть на количество файловых дескрипторов?
VDS8-MICRO - 1024
VDS8-MINI - 1024
VDS8-LIGHT - 1536
VDS8-STANDART - 2048
VDS8-PROF - 3072
VDS8-MEGA - 4096
VDS9-MICRO - 2048
VDS9-MINI - 2048
VDS9-LIGHT - 3300
VDS9-STANDART - 4096
VDS9-PROF - 4096
VDS9-MEGA - 10000
На KVM-тарифах ограничений нет.
Как узнать, сколько файловых дескрипторов потребляет мой VDS в данный момент?
В ssh команда:
# sysctl kern.openfiles
покажет число открытых файлов.
А команда:
# sysctl kern.maxfiles
- ваш лимит на дескрипторы.
Как узнать, кто потребляет файловые дескрипторы?
К сожалению, такие команды как fstat и lsof на VDS (на базе VDSmanager) не работают. Виновника можно вычислить, поочередно останавливая сервисы и
наблюдая за тем, насколько уменьшилось значение kern.openfiles.
Как узнать, превышал ли я лимит на файловые дескрипторы?
В VDSmanager есть раздел: "Статистика" -> "Отказы в ресурсах".
Также в /var/log/messages можно поискать ошибку "too many open files in system" или нечто близкое по смыслу.
Как увеличить число файловых дескрипторов на своем VDS?
Никак, только переходом на другой тарифный план. Мы можем лишь временно (на несколько дней) увеличить число дескрипторов на вашем VDS.
[Отредактировано 20.5.2014 кто timru]
|