Это нормально, если я изменю приоритет процесса JVM через nice на сервере [linux]. Я хотел, чтобы мой процесс JVM использовал максимум ресурсов ОС.
Какая стандартная практика? Настраивают ли люди ОС Linux специально для процесса, чтобы получить максимальную производительность?
Нормальный подход справедливого распределения хорошо работает для большинства рабочих нагрузок, и не принято настраивать приоритеты для производительности. Приоритеты процесса настройки могут иметь нежелательные побочные эффекты. В некоторых случаях, например в пакетных процессах, приложениям присваивается особое внимание.
Вам потребуются привилегии root, чтобы предоставить JVM более высокий приоритет, чем обычно. Это может быть приемлемо, если процесс привязан к вводу-выводу. Если процесс привязан к ЦП, вы можете обнаружить, что он снижает производительность ВСЕХ других процессов. Это будет включать в себя процесс, который вы использовали для повышения приоритета.
Это обычное дело nice
пакетные процессы, поэтому они не используют ресурсы, которые могут быть использованы интерактивными процессами. Мониторы скорости ЦП можно настроить так, чтобы они игнорировали такие процессы при определении необходимости увеличения скорости ЦП. Если пакетные процессы обрабатываются, это обычно делается в сценарии, выполняющем процесс.
Современные ядра также позволяют устанавливать приоритеты ввода-вывода для процессов. Проверьте man ionice
. Если ваша JVM привязана к вводу-выводу, это может быть целесообразным.
Я бегу boinc
процессы чрезвычайно приятные. Это потому, что я хочу использовать только циклы ЦП, которые в противном случае не использовались бы для этих процессов. Обычно они используют более 90% доступных циклов.
Установка благоприятного «хорошего» уровня даст этому процессу приоритет процессорного времени над другими процессами. Вы сможете достичь определенной «производительности» только в зависимости от мощности вашего процессора.