Как настроить «максимальные открытые файлы» и жесткий лимит для определенного процесса?

Я использовал команду cat /proc/<pid>/limits чтобы проверить жесткий и мягкий предел Max open file, но я хочу знать, как это значение будет установлено, и может ли оно быть увеличено или уменьшено?

Установлено ли это значение в каком-либо файле конфигурации?

Я пробовал команду ulimit , но это не помогает установить лимит определенного процесса.

 # ulimit -n 2048 

Но все же я вижу 1024 в

 # cat /proc/<pid>/limits .. Max open files 1024 4096 files .. 

Я знаю, что подобные вопросы задают, но я не могу найти лучшего ответа.

2 Solutions collect form web for “Как настроить «максимальные открытые файлы» и жесткий лимит для определенного процесса?”

Если у вас установлен пакет util-linux , вы устанавливаете жесткие и мягкие ограничения для конкретного процесса с помощью команды prlimit . Чтобы установить мягкие и жесткие ограничения для максимального количества открытых файлов на 10 и 20, соответственно, для команды command , выполните:

 prlimit -n10:20 command 

Можно также указать аргументы команды:

 prlimit -n10:20 command arg1 arg2 ... 

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

Примечание: в отличие от многих других команд Unix, prlimit допускает пробелов между опцией и аргументом. Таким образом, -n10:20 работает, но нет в -n 10:20 .

Если мы говорим о ulimt -n $your_number , вы можете указать ulimt -n $your_number в сценарии инициализации. Если это уже запущенный процесс, и вы не можете его перезапустить, используйте prlimit например, предложенный John1024 .

Linux и Unix - лучшая ОС в мире.