Я запускаю тяжелый java-процесс на моем rhel. У него было 8 ГБ оперативной памяти и 1 ядро для процессора. С помощью top
и htop
я обнаружил, что для этого процесса недостаточно ЦП.
Я добавил 3 дополнительных ядра в VMware и перезагрузился. Если я выполняю nproc
, я вижу 4, так что теперь на сервере 4 ядра.
Я перезапускаю java-процесс, но он не работает быстрее. Я читал, что вершина может показывать до 400%, если у вас 4 ядра. (каждое ядро до 100%). Когда я выполняю top
, я вижу 100%. Я подозреваю, что одно ядро используется полностью, а три других ничего не делают.
Есть ли способ разрешить этому процессу или моему серверу использовать все доступные ядра? Я использую RHEL 7.2
Вам необходимо настроить JVM для использования нескольких процессоров, как другие упоминали в комментариях. Это проблема приложения, а не ОС. Я почти уверен, что по умолчанию используется только один процессор. Если вы не сконфигурируете его специально для использования большего количества ресурсов, вы установите для одного процессора 100%, в то время как другие три останутся почти неиспользованными, и ваше приложение пострадает.