Недавно я заметил, что ОС сообщает о гораздо большем количестве потоков для приложения, чем JMX
При написании простой основной программы я вижу то же самое. JMX говорит, что у меня 12 потоков (основной, GC, финализатор, JMX, ...), а ps -eLf
говорит, что у меня 29. Я никогда не замечал этого несоответствия, вероятно, потому что я обычно использую ps -a
вместо -e
команда стиля.
Здесь что-то не так? Эти две вещи измеряют разные вещи? Может быть, есть ошибка Прометея? Или эти темы нормальные и если да - что именно они делают?
Я думаю, вы заглядываете за завесу в том, как ОС управляет потоками Java, и вам не о чем беспокоиться. Количество процессов, используемых ОС против потоков Java, будет сильно зависеть от вашей версии Java и реализаций собственных потоков ОС. Я не думаю, что они «делают» что-то, но, скорее всего, они там по какой-то причине, связанной с учетом ОС, о которой вам не нужно беспокоиться.