Увеличение числа дескрипторов файлов на рабочих станциях Linux

Для наилучшей производительности продукта увеличьте число дескрипторов файлов (число дескрипторов по умолчанию - 1024).

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

Важное замечание: Перед тем как начать работу с продуктом Rational, увеличьте число дескрипторов файлов. По умолчанию число дескрипторов файлов на процесс равно 1024, но большинство продуктов Rational используют большее количество дескрипторов. Системному администратору, вероятно, потребуется внести это изменение.

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

Для увеличения числа дескрипторов файлов выполните следующие действия:

Процедура

  1. Войдите в систему как пользователь root. Если у вас нет прав доступа пользователя root, их необходимо получить перед тем, как продолжить.
  2. Перейдите в каталог etc
    Внимание: Если вы решили увеличить число дескрипторов файлов на следующем шаге, не оставляйте пустой файл initscript на компьютере. В противном случае при следующем включении или перезагрузке компьютера он не запустится.
  3. Для редактирования файла initscript в каталоге etc используйте редактор vi. Если этот файл не существует, введите vi initscript для его создания.
  4. В первой строке введите ulimit -n 4096. Смысл в том, что 4096 значительно больше значения 1024, применяемого по умолчанию на большинстве компьютеров Linux.
    Важное замечание: Не задавайте слишком большое число дескрипторов, так как это отрицательно повлияет на производительность всей системы.
  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 использовалось относительно небольшое число дескрипторов, то данная рекомендация не очень важна. Однако если ранее на шаге 4 было задано большое число дескрипторов, а ограничения в файле limits.conf не указаны, то производительность компьютера может значительно ухудшиться.
    В следующем примере файла limits.conf устанавливаются ограничения для всех пользователей, а затем для разных пользователей задаются различные лимиты. В этом примере предполагается, что ранее на шаге 4 было задано число дескрипторов, равное 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, ознакомьтесь с содержащейся в нем документацией и убедитесь, что вы понимаете ее.

Дальнейшие действия

Для получения дополнительной информации о команде ulimit просмотрите страницу man для ulimit.

Комментарии