Почему мои процессы потребляют только 5% мощности процессоров? - PullRequest
2 голосов
/ 07 мая 2009

Не уверен, что это подходящее место для этого вопроса, но, похоже, он связан с многопоточностью, системными ресурсами и всем этим.

Почему мой диспетчер задач показывает, что процесс простоя системы использует 90% + мощности процессора, когда у меня запущено 3 разных процесса!?!?

Это из-за узких мест ввода / вывода?

Например, если я проверяю SVN, очищаю свою корзину и одновременно просматриваю Интернет, почему процесс System Idle равен 97%, а остальные - около 1% каждый? Похоже, никто из них на самом деле не идет очень быстро.

Ответы [ 4 ]

7 голосов
/ 07 мая 2009

В основном процессы ожидают завершения дисковых или сетевых операций или ожидают ввода данных пользователем.

Вы можете подумать, что у вас быстрое подключение к диску или сети, но по сравнению с памятью / процессором это все равно, что ходить в ближайшую библиотеку, искать книгу в каталоге и находить ее на полке, а не иметь книгу в руках .

Вот почему вы платите тысячи или доллары за 10000 и 15000 оборотов в минуту SCSI-дисков (или даже больше за SAN) на высокопроизводительных серверах.

2 голосов
/ 07 мая 2009

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

Теперь попробуйте перекодировать необработанный файл AVI в формат DIVX, одновременно визуализируя 3D-анимацию в Maya, и ваш процессор должен быть достаточно занят.

1 голос
/ 07 мая 2009

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

Если это приложения winforms, которые ждут ввода пользователя, они сидят там, ничего не делая и ожидая ввода.

0 голосов
/ 07 мая 2009

Проверка SVN и очистка корзины - это очень тяжелые операции с диском, не требующие большой нагрузки на ЦП, а просмотр веб-страниц очень резко увеличивается с точки зрения использования ЦП (например, скачки при рендеринге страниц, но стоят очень мало, если сделано).

Если вы хотите, чтобы ваш ЦП поддерживал высокую загрузку, сделайте что-то, что основано почти исключительно на ЦП / памяти, например Folding@Home.

...