Загрузка процессора 100% в операциях ввода / вывода
У меня есть теоретический вопрос об использовании процессора. Когда загрузка процессора достигает 100%, что это значит? Значит ли это, что у меня слишком большие данные? Или это означает, что у меня слишком большие файлы? Или слишком большое количество файлов? или слишком много данных о JVM?
Это операция ввода-вывода Java, выполняемая с использованием многопоточного приложения.
1 ответ
Это означает, что ваше приложение выполняет больше вычислений, чем ваше CPU
может управлять так, что ваш CPU
полностью перегружен, пропорционально мало IO
по сравнению с вычислениями, потому что IO
добавляет некоторую задержку, которая, следовательно, уменьшит CPU
использование, например, бесконечный цикл без паузы будет потреблять 100 %
пострадавших CPU
,
while(true);
Пока бесконечный цикл с паузой будет потреблять гораздо меньше CPU
поскольку у нас будет меньше вычислений, которые нужно сделать за единицу времени.
while(true) {
Thread.sleep(50L);
}