Увеличение числа дескрипторов файлов в системе Linux

Производительность продукта возрастает, если увеличить число дескрипторов файлов по сравнению со значением по умолчанию 1024.

Прежде чем начать

Эта операция требует прав root. Для изменения числа дескрипторов файлов войдите в систему как администратор.

Об этой задаче

Важное замечание: Перед началом работы с продуктом увеличьте число дескрипторов файлов. Большинство продуктов IBM® Rational используют более 1024 (значение по умолчанию) дескрипторов файлов для каждого процесса.

При увеличении числа дескрипторов файлов в Linux необходимо проявлять аккуратность. Если инструкции выполнены неверно, то работа компьютера может быть нарушена.

Процедура

  1. Войдите в систему как root.
  2. Перейдите в каталог etc.
    Внимание: Увеличив число дескрипторов файлов согласно инструкциям, не оставляйте пустой файл initscript на компьютере. В противном случае компьютер может не запуститься.
  3. В редакторе vi откройте файл initscript из каталога etc. Если этот файл не существует, введите vi initscript, чтобы создать его.
  4. Задайте значение 4096: в первой строке введите ulimit -n 4096.
    Важное замечание: Не задавайте это значение слишком большим, иначе может снизиться производительность всей системы.
  5. На второй строке введите eval exec "$4".
  6. После шагов 4 и 5 сохраните и закройте файл.
    Прим.: Обязательно выполните эти шаги без ошибок. В случае ошибок компьютер может не запуститься.
  7. Необязательно: Файл limits.conf из каталога /etc/security позволяет ограничить число дескрипторов, доступных отдельным пользователям или группам. Этот файл по умолчанию есть и в SUSE Linux Enterprise Server (SLES) версии 9, и в Red Hat Enterprise Linux версии 4.0. Если этот файл отсутствует, то на шаге 4 рекомендуется указать меньшее значение, например, 2048. Тем самым пользователи не смогут открыть слишком много файлов для каждого процесса. Если на шаге 4 указано относительно небольшое число, то файл limits.conf изменять необязательно. Однако, если на шаге 4 указано большое число, то в отсутствие ограничений в файле limits.conf производительность компьютера может снизиться.

Пример

В следующем примере в файле limits.conf сначала настроены ограничения для всех пользователей, а затем настроены другие значения для некоторых пользователей. В этом примере число дескрипторов задано равным 8192.

*      soft nofile 1024
*      hard nofile 2048
root    soft nofile 4096
root    hard nofile 8192
user1   soft nofile 2048
user1 hard nofile 2048

Звездочка (*) в примере задает ограничения для всех пользователей. Эти ограничения более жесткие, чем указанные ниже. Пользователь root может открывать большее число дескрипторов файлов, а пользователю user1 предоставлено значение, промежуточное между максимальным и минимальным. Перед изменением файла limits.conf ознакомьтесь с информацией, содержащемся в этом файле.

Комментарии