Знам, че този въпрос е задаван много пъти по много различни начини, но все още не ми е ясно какво означава % натоварване на процесора.
Ще започна да обяснявам как възприемам концепциите сега (разбира се, може и със сигурност ще греша):
- Ядрото на процесора може да изпълнява само една инструкция наведнъж. Той няма да изпълни следващата инструкция, докато не завърши изпълнението на текущата.
- Да предположим, че кутията ви има един единствен процесор с едно ядро. Следователно паралелното изчисление не е възможно. Планировчикът на вашата операционна система ще вземе процес, ще зададе IP на входната точка и ще изпрати тази инструкция до процесора. Той няма да премине към следващата инструкция, докато процесорът не завърши изпълнението на текущата инструкция. След определен период от време той ще премине към друг процес и т.н. Но той никога няма да превключи към друг процес, ако процесорът в момента изпълнява инструкция. Ще изчака, докато процесорът се освободи, за да превключи към друг процес. Тъй като имате само едно единствено ядро, не можете да имате два процеса, изпълняващи се едновременно.
- I/O е скъпо. Всеки път, когато процес иска да прочете файл от диска, той трябва да изчака, докато дискът изпълни задачата си, а текущият процес не може да изпълни следващата си инструкция дотогава. Процесорът не прави нищо, докато дискът работи, така че нашата ОС ще превключи на друг процес, докато дискът свърши работата си, за да не губим време.
Следвайки тези принципи, стигнах до заключението, че натоварването на процесора в даден момент може да бъде само една от следните две стойности:
- 0% - празен ход. Процесорът не прави абсолютно нищо.
- 100% - Зает. В момента процесорът изпълнява инструкция.
Това очевидно е невярно, тъй като taskmgr отчита %1, 12%, 15%, 50% и т.н. стойности на използване на процесора.
- Какво означава, че даден процес, в даден момент, използва 1% от дадено процесорно ядро (както се съобщава от taskmgr)? Докато даден процес се изпълнява, какво се случва с 99%?
- Какво означава, че общото използване на процесора е 19% (както се съобщава от Rainmeter в момента)?