Загрузка процессора 100% в операциях ввода / вывода

У меня есть теоретический вопрос об использовании процессора. Когда загрузка процессора достигает 100%, что это значит? Значит ли это, что у меня слишком большие данные? Или это означает, что у меня слишком большие файлы? Или слишком большое количество файлов? или слишком много данных о JVM?

Это операция ввода-вывода Java, выполняемая с использованием многопоточного приложения.

1 ответ

Решение

Это означает, что ваше приложение выполняет больше вычислений, чем ваше CPU может управлять так, что ваш CPU полностью перегружен, пропорционально мало IO по сравнению с вычислениями, потому что IO добавляет некоторую задержку, которая, следовательно, уменьшит CPU использование, например, бесконечный цикл без паузы будет потреблять 100 % пострадавших CPU,

while(true);

Пока бесконечный цикл с паузой будет потреблять гораздо меньше CPU поскольку у нас будет меньше вычислений, которые нужно сделать за единицу времени.

while(true) {
    Thread.sleep(50L);
}
Другие вопросы по тегам