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

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

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

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

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

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

Процедура

  1. Войдите в систему от имени пользователя root. Если вы не уполномочены входить в систему как пользователь root, вы не сможете выполнить эту процедуру.
  2. Перейдите в каталог etc.
    Внимание: В ходе этой процедуры при выполнении следующего шага не оставляйте пустой файл initscript в каталоге etc. В противном случае при следующем запуске компьютера возникнут неполадки.
  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 приведена в странице справки по ulimit.

Комментарии