ulimit -n команда не показывает никаких изменений inspite модификации файла /etc/security/limits.conf

При компиляции перидигма я сталкиваюсь со следующей ошибкой.

/usr/bin/ld: cannot find /usr/local/bin/trilinos-12.12.1/lib/libgaleri-xpetra.a: Too many open files
/usr/bin/ld: cannot find /usr/local/bin/trilinos-12.12.1/lib/libgaleri-epetra.a: Too many open files
/usr/bin/ld: cannot find /usr/local/bin/trilinos-12.12.1/lib/libaztecoo.a: Too many open files
/usr/bin/ld: cannot find /usr/local/bin/trilinos-12.12.1/lib/libisorropia.a: Too many open files
.
.
.
/usr/bin/ld: cannot find /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o: Too many open files
collect2: error: ld returned 1 exit status
src/io/mesh_input/quick_grid/unit_test/CMakeFiles/ut_QuickGrid_solidCylinder_np1.dir/build.make:1465: recipe for target 'src/io/mesh_input/quick_grid/unit_test/ut_QuickGrid_solidCylinder_np1' failed
make[2]: *** [src/io/mesh_input/quick_grid/unit_test/ut_QuickGrid_solidCylinder_np1] Error 1
CMakeFiles/Makefile2:1009: recipe for target 'src/io/mesh_input/quick_grid/unit_test/CMakeFiles/ut_QuickGrid_solidCylinder_np1.dir/all' failed
make[1]: *** [src/io/mesh_input/quick_grid/unit_test/CMakeFiles/ut_QuickGrid_solidCylinder_np1.dir/all] Error 2
.
.
[ 58%] Linking CXX static library libPeridigmLib.a
[ 58%] Built target PeridigmLib
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2

Я использовал инструкции в link, чтобы увеличить мягкий и жесткий предел процессов, используя следующее:

#@student        -       maxlogins       4

* hard nofile 97816
* soft nofile 97816
session required pam_limits.so

# End of file

Однако, даже после перезапуска терминала wsl после обновления файла limit.conf в соответствии с инструкциями в link, ulimit -n все еще показывает 1024 вместо измененного значения. Почему оно не изменяется? Есть совет?

Я использую подсистему Windows для Linux Ubuntu 16.04.

0
задан 27 March 2021 в 02:46

1 ответ

/etc/security/limits.conf - это конструкция PAM. Обычно PAM обрабатывает это во время входа в систему в «нормальном» Linux, но ... на самом деле вы не входите в WSL, поэтому PAM не вызывается .

Обходной путь, как описано ниже, тот же поток Github должен запускать sudo su $ USER , sudo su - $ USER или что-то в этом роде. (другие предложения см. в ветке). Результирующая оболочка будет обрабатывать limits.conf через PAM, и вы должны иметь возможность поднять пределы там, как ожидалось ( ulimit -n 97816 , похоже, из вашего вопроса). Пока сборка peridigm остается в этой подоболочке, мы надеемся, что с вами все будет в порядке.

Ясно, что это не идеально, но, надеюсь, поможет вам преодолеть это препятствие.

0
ответ дан 23 April 2021 в 23:29

Другие вопросы по тегам:

Похожие вопросы: