Ограничение RLIMIT_NOFILE применяется операционной системой и ограничивает максимальное значение fd, которое может создать процесс. Один fd используется для каждого открытого файла, канала и сокета.
Существуют жесткие и мягкие ограничения. Любому процессу (например, вашей оболочке или jvm) разрешено изменять значение soft, но только привилегированный процесс (например, оболочка, запускаемая пользователем root) может изменить значение hard.
a) Если вам не разрешено изменять лимит на машине, найдите кого-то, кто является
b) Если вы по какой-то причине не можете ввести ulimit, я думаю, вы можете вызвать базовый системный вызов с помощью JNA: man setrlimit (2) . (.exec () не будет работать, поскольку это встроенная команда)
См. Также Работа с Ulimit