Здравствуйте. У меня core i7 с 4 физическими ядрами, по 2 потока на каждый. При запуске 4 потоков, процессор загружен на ~40%, при этом pgrep java выдает только два процесса(даже если увеличивать количество потоков). Подскажите как работает java-машина, она сама распределяет нагрузку на ядра или это нужно указывать явно?
В данном случае jvm все сделает сама и лучше ей не мешать. Ваши потоки живут внутри jvm и grep вам будет выдавать всегда один java процесс (в большинстве случаев).