
CPU ์ด์ฉ๋ฅ ์ ๋ ์ผ๊ตด: CPU ์ฝ์ด ์ฌ์ฉ๋๊ณผ ํ์ฉ๋ฅ
CPU ์ด์ฉ๋ฅ ์ ๋ ์ผ๊ตด: CPU ์ฝ์ด ์ฌ์ฉ๋๊ณผ ํ์ฉ๋ฅ ๊ด๋ จ
๊ตญ๋ด ์ ๋ช IT ๊ธฐ์ ์ ํ๊ตญ์ ๋์ด ์ธ๊ณ๋ฅผ ๋ฌด๋๋ก ํ ์ ๋๋ก ๋ฐ์ด๋ ๊ธฐ์ ๊ณผ ์์ด๋์ด๋ฅผ ์๋ํฉ๋๋ค. ์ด๋ค์ ๊ธฐ์ ๋ธ๋ก๊ทธ๋ฅผ ํตํด ์ด๋ฌํ ์ ๋ณด๋ฅผ ๊ณต๊ฐํ๊ณ ์์ต๋๋ค. ์์ฆIT๋ ๊ฐ ๊ธฐ์ ๋ค์ ํน์ ์๊ณ ์ ์ตํ ์ฝํ ์ธ ๋ฅผ ์๊ฐํ๋ ์๋ฆฌ์ฆ๋ฅผ ์ค๋นํ์ต๋๋ค. ์ด๋ค์ ์ด๋ป๊ฒ ์ฌ๊ณ ํ๊ณ , ์ด๋ค ๋ฐฉ์์ผ๋ก ์ผํ๋ ๊ฑธ๊น์?
์ด๋ฒ ๊ธ์์๋ โ๋ท๋ง๋ธโ์ TPM์ค ์ํคํ ์ฒ์ต์ ํํ์ด CPU ์ด์ฉ๋ฅ ๋ฉํธ๋ฆญ์ ๋ ๊ฐ์ง ๊ฐ๋ ์ ๊ดํด ์๊ฐํฉ๋๋ค.
์๋ ํ์ธ์, ๋ท๋ง๋ธ TPM์ค ์ํคํ ์ฒ์ต์ ํํ ๋ฐ์ ์ฑ์ ๋๋ค. ๊ฒ์ ๋๋ ์๋น์ค๋ฅผ ์ถ์ํ๊ธฐ์ ์์ ์๋ฒ์ ์ฑ๋ฅ์ ์ธก์ ํ๊ณ ์ต์ ํํ๋ ์์ ์ ํ์๋ผ๊ณ ํ ์ ์์ต๋๋ค. ์ด๋ ์๋ฒ๋ฅผ ํฌํจํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ ์ธก์ ์๋ CPU ๊ด๋ จ ๋ฉํธ๋ฆญ์ ๋ชจ๋ํฐ๋งํ๋ ๊ฒ์ด ๋งค์ฐ ์ค์ํฉ๋๋ค. CPU ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง์๋ CPU ์ด์ฉ๋ฅ , ๋ฉํฐ ์ฝ์ด ๋ถํ ํ๊ท , ์ฝ์ด๋ณ ์ฌ์ฉ๋ฅ , ์ปจํ ์คํธ ์ค์์น, ์ ํด ์ค๋ ๋, ๋๊ธฐ ํ ๊ธธ์ด, ์ธํฐ๋ฝํธ ๋ฐ ์์คํ ํธ์ถ ๋ฑ์ ์ฃผ์ ๋ฉํธ๋ฆญ์ด ์์ต๋๋ค. ์ด๋ฌํ ๋ฉํธ๋ฆญ์ ๋ชจ๋ํฐ๋งํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ ๋ณ๋ชฉ ํ์์ ์๋ณํ๊ณ , ๋ฆฌ์์ค ์ฌ์ฉ์ ์ต์ ํํ๋ฉฐ, ์ ๋ฐ์ ์ธ ์์คํ ์ฑ๋ฅ์ ๊ฐ์ ํ ์ ์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด ๊ธ์์ ๋ค๋ฃฐ CPU ์ด์ฉ๋ฅ ๋ฉํธ๋ฆญ์ ์๋์ฐ์์ ๋ ๊ฐ์ง ๋ค๋ฅธ ๊ฐ๋ ์ผ๋ก ๋๋์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ ๊ฐ์ง ๊ฐ๋ ์ ์ ํํ๊ฒ ์ดํดํด์ผ ์ฑ๋ฅ ์ธก์ ์ ํจ์จ์ ์ผ๋ก ์ํํ ์ ์์ต๋๋ค.
๊ฐ์ CPU ์ด์ฉ๋ฅ ์ด์ง๋ง ๊ทธ ์๋ฏธ๊ฐ ๋ค๋ฆ ๋๋ค
Windows ์์
๊ด๋ฆฌ์(Task Manager)์ [ํ๋ก์ธ์ค]
ํญ์์ ํ์๋๋ ํน์ ํ๋ก์ธ์ค์ CPU ์ด์ฉ๋ฅ ๋ฉํธ๋ฆญ๊ณผ [์ธ๋ถ ์ ๋ณด]
ํญ์์ ํ์๋๋ CPU ์ด์ฉ๋ฅ ๋ฉํธ๋ฆญ์ ๋ชจ๋ โ๋ชจ๋ ์ฝ์ด์์์ ์ด ํ๋ก์ธ์ค ์ด์ฉ๋ฅ โ์ด๋ผ๊ณ ํ์ํ์ง๋ง ์๋ก ์ผ์นํ์ง ์์ต๋๋ค.


[ํ๋ก์ธ์ค]
ํญ๊ณผ [์ธ๋ถ ์ ๋ณด]
ํญ์ CPU ์ด์ฉ๋ฅ ๋น๊ต์์
๊ด๋ฆฌ์์ ๋ ํญ์์ ํ์๋๋ CPU ์ด์ฉ๋ฅ ๋ฉํธ๋ฆญ์ด ์๋ก ์ผ์นํ์ง ์๋ ์ด์ ๋ ๊ฐ ํญ์์ ํ์๋๋ CPU ์ด์ฉ๋ฅ ๋ฉํธ๋ฆญ์ด ์๋ฏธํ๋ ๋ฐ๊ฐ ์๋ก ๋ค๋ฅด๊ธฐ ๋๋ฌธ์
๋๋ค(์ต์ CPU์ ๊ฒฝ์ฐ ์ผ๋ฐ์ ์ผ๋ก [ํ๋ก์ธ์ค]
ํญ์์ CPU ์ด์ฉ๋ฅ ์ด ๋ ๋๊ฒ ํ์๋ฉ๋๋ค).
์ด๋ Windows 8๊ณผ Windows Server 2012 ๋ฒ์ ๋ถํฐ ๋ณ๊ฒฝ๋ ์ฌ์์ ๋๋ค. Windows 7๊ณผ Windows Server 2008 R2 ๋ฒ์ ๊น์ง๋ ์์ ๊ด๋ฆฌ์์ ํ์๋๋ CPU ์ด์ฉ๋ฅ ์ **CPU ์ฌ์ฉ๋(Usage)**์ผ๋ก์จ ๊ทธ ์๋ฏธ๊ฐ ๋์ผํ์ต๋๋ค.
์ฐธ๊ณ ๋ฌธ์
Windows 8๊ณผ Windows Server 2012 ๋ฒ์ ๋ถํฐ CPU ์ด์ฉ๋ฅ ๊ณ์ฐ ๋ฐฉ์์ด ๋ณ๊ฒฝ๋๋ฉด์ ์์
๊ด๋ฆฌ์์ [ํ๋ก์ธ์ค]
ํญ ๋ฐ [์ฑ๋ฅ]
ํญ์์ ํ์๋๋ CPU ์ด์ฉ๋ฅ ์ **CPU ํ์ฉ๋ฅ (Utilization)**์ ์๋ฏธํ๊ณ , [์ธ๋ถ ์ ๋ณด] ํญ์์ ํ์๋๋ CPU ์ด์ฉ๋ฅ ์ **CPU ์ฌ์ฉ๋(Usage)**์ ์๋ฏธํฉ๋๋ค.
CPU ํ์ฉ๋ฅ (Utilization)์ ์ฃผํ์ ๊ธฐ๋ฐ(Frequency-based)์ผ๋ก ์ธก์ ๋๋ ๋ฉํธ๋ฆญ์ด๊ณ , CPU ์ฌ์ฉ๋(Usage)์ ์๊ฐ ๊ธฐ๋ฐ(Time-based)์ผ๋ก ์ธก์ ๋๋ ๋ฉํธ๋ฆญ์ ๋๋ค. ์ฆ, ์ด์ฉ๋ฅ ์ด๋ผ๋ ๋์ผํ ์ฉ์ด๊ฐ ์ฌ์ฉ๋๊ณ ์์ง๋ง ๊ฐ ํญ๋ณ๋ก ์ด์ฉ๋ฅ ๋ฉํธ๋ฆญ์ด ์ธก์ ๋๋ ๋ฐฉ์๊ณผ ๊ทธ ์๋ฏธ๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ํญ๋ณ๋ก ํ์๋๋ CPU ์ด์ฉ๋ฅ ๋ฉํธ๋ฆญ์ ์ผ์นํ์ง ์์ต๋๋ค.
์ง๊ธ๋ถํฐ ์์ ๊ด๋ฆฌ์๊ฐ CPU ์ด์ฉ๋ฅ ์ ํ์ํ๊ธฐ ์ํ์ฌ ์ฌ์ฉํ๋ ๋ ๊ฐ์ง ๋ฉํธ๋ฆญ ์ธก์ ๋ฐฉ์์ ๋ํด์ ์กฐ๊ธ ๋ ์์ธํ๊ฒ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์ค๋ช ์ ๋ ผ๋ฆฌ ํ๋ก์ธ์ ๋จ์๋ก ์งํ๋๋ฉฐ ์ฐ์ CPU ์ฝ์ด ์ฌ์ฉ๋(Usage) ๋ฉํธ๋ฆญ์ ๋ํ ์ค๋ช ์ ๋๋ค.
CPU ์ฝ์ด ์ฌ์ฉ๋(Usage)
Windows ์์ ๊ด๋ฆฌ์์์ ํ์๋๋ CPU ์ฝ์ด ์ฌ์ฉ๋(Usage) ๋ฉํธ๋ฆญ์ ์ฑ๋ฅ ์นด์ดํฐ ์นดํ ๊ณ ๋ฆฌ(Performance Object) Processor Information ํ์์ % Processor Time์ด๋ผ๋ ์ฑ๋ฅ ์นด์ดํฐ์ ํด๋นํฉ๋๋ค. ์ฑ๋ฅ ์นด์ดํฐ์ ๋ํ ์์ธํ ์ฌํญ์ Microsoft ์ฌ์ดํธ์ Performance Counters API๋ฅผ ์ฐธ๊ณ ํ๊ธฐ ๋ฐ๋๋๋ค.
Info
Windows ์ฑ๋ฅ ๋ชจ๋ํฐ(Performance Monitor)์์ ์์ง๋๋ Processor(_Total)โ% Processor Time
๋๋ Processor Information(_Total)โ% Processor Time
๋ฉํธ๋ฆญ์ Windows ์์
๊ด๋ฆฌ์์ [์ธ๋ถ ์ ๋ณด]
ํญ์์ ํ์๋๋ CPU ์นผ๋ผ์ ๋ฉํธ๋ฆญ๊ณผ ์ผ์นํฉ๋๋ค.
CPU ์ฝ์ด ์ฌ์ฉ๋(Usage)์ ์๊ฐ ๊ธฐ๋ฐ(Time-based)์ผ๋ก ์ธก์ ๋๋ ๋ฉํธ๋ฆญ์ผ๋ก์จ ๊ฐ๊ฒฉ์ผ๋ก ์ํ๋ง๋ ํ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ธก์ ๋๊ณ , ์ธก์ ๊ณต์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- : ์ธก์ ๋ฒ์ ์๊ฐ ๋ด์ ๋ ผ๋ฆฌ ํ๋ก์ธ์์์ โ์ ํด(Idle) ์ค๋ ๋โ๊ฐ ์๋นํ๋ ๊ฐ๊ฒฉ์ ์(์ํ๋ง ํ์)
- : ์ธก์ ๋ฒ์ ์๊ฐ ๋ด์ ๊ฐ๊ฒฉ์ ์ (์ํ๋ง ํ์)
์ ํด(Idle) ์ค๋ ๋
Windows์ ๋ด์ฅ ํ๋ก์ธ์ค์ธ โSystem Idle Process(์์คํ ์ ํด ์๊ฐ ํ๋ก์ธ์ค)โ๊ฐ ์์ฑํ ์ค๋ ๋์ ๋๋ค. ์คํ ๊ฐ๋ฅํ ์ค๋ ๋(Ready or Running ์ํ์ ์ค๋ ๋)๊ฐ ํน์ ๋ ผ๋ฆฌ ํ๋ก์ธ์์ ์์ ๊ฒฝ์ฐ, ํด๋น ๋ ผ๋ฆฌ ํ๋ก์ธ์์ ์ด ์ ํด ์ค๋ ๋๊ฐ ํ ๋น๋ฉ๋๋ค. ์ ํด ์ค๋ ๋๋ ์ค์ผ์ค๋ฌ์์ ๋ฐ์ํ ์ ์๋ ํน์ํ ์ผ์ด์ค(์คํ ๊ฐ๋ฅํ ์ค๋ ๋๊ฐ ์๋ ์ํฉ)๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ํ ๋น๋ฉ๋๋ค. ์ด๋ฌํ ์ด์ ๋ก โSystem Idle Processโ๊ฐ ์์ฑํ๋ ์ ํด ์ค๋ ๋์ ์๋ ๋ ผ๋ฆฌ ํ๋ก์ธ์ ์์ ๊ฐ์ต๋๋ค. ๋ ์์ธํ ๋ด์ฉ์ ใWindows Internals 7/e Vol. 1ใ 4์ฅ์์ ์๊ฐํ๋ โ์ ํด ์ค๋ ๋โ ํญ๋ชฉ์ ์ฐธ๊ณ ํ๊ธธ ๋ฐ๋๋๋ค.
CPU ์ฝ์ด ์ฌ์ฉ๋(Usage)์ ์ธก์ ๋ฒ์ ์๊ฐ ๋ด์์ ๋ ผ๋ฆฌ ํ๋ก์ธ์๊ฐ ์ค๋ ๋ ์คํ์ ์๋นํ๋ ์๊ฐ์ ๋น์จ(๋ฐฑ๋ถ์จ)์ ์๋ฏธํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด ์ธก์ ์ โ์ ํด(Idle) ์ค๋ ๋โ๊ฐ ์๋นํ๋ ์๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ๊ณ์ฐ๋ ๊ฐ์ ์ญ์(Inverse)์ ๊ตฌํ๋ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค.
๋ง์ฝ, 1์ด ๊ฐ๊ฒฉ(์ํ๋ง ๊ฐ๊ฒฉ์ )์ผ๋ก CPU ์ฝ์ด ์ฌ์ฉ๋(Usage)์ ์์งํ๋ค๊ณ ํ ๋, ์ํ๋ง ํ์()๊ฐ ์ด ํ์ด๊ณ , ์ด ์ํ๋ง ํ์ ์ค โ์ ํด(Idle) ์ค๋ ๋โ๊ฐ ์๋นํ ์ํ๋ง ํ์()๊ฐ ํ๋ผ๊ณ ํ๋ค๋ฉด ์ด๋ฏ๋ก 1์ด ๋์์ CPU ์ฝ์ด ์ฌ์ฉ๋(Usage)์ ๊ฐ ๋ฉ๋๋ค.
์ปดํจํฐ ์๊ฐ ๋จ์
์ฐธ๊ณ
Processor(_Total)โ% Privileged Time
๋๋ Processor Information(_Total)โ% Privileged Time
๋ฉํธ๋ฆญ์ ํตํด์ ๋
ผ๋ฆฌ ํ๋ก์ธ์๊ฐ ์ปค๋ ๋ช
๋ น์ ์คํํ๋ ๋ฐ ์๋นํ๋ ์๊ฐ์ ๋ฐฑ๋ถ์จ์ ํ์ธํ ์ ์์ต๋๋ค.
๋ชจ๋ํฐ๋ง
์๋์์ ์ค๋ช
ํ ๋๋ก Windows ์์
๊ด๋ฆฌ์์ [์ฑ๋ฅ]
ํญ**์์ ํ์๋๋ CPU ์ด์ฉ๋ฅ ์ CPU ํ์ฉ๋ฅ (Utilization)์ ์๋ฏธํฉ๋๋ค. ๋ฐ๋ผ์ CPU ์ฝ์ด ์ฌ์ฉ๋(Usage)์ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํด์๋ Process Explorer, System Informer ๋ฑ๊ณผ ๊ฐ์ OSS/์๋ํํฐ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.



Process Explorer, System Informer ๋น๊ต
์ฐธ๊ณ
Windows ๋ฆฌ์์ค ๋ชจ๋ํฐ(Resource Monitor)์ [CPU]
ํญ์์ ํ์๋๋ ํ๋ก์ธ์ค ์ ์ฒด CPU ์ด์ฉ๋ฅ ๊ณผ ์ฐ์ธก ํจ๋์ CPU ์ด์ฉ๋ฅ ์ CPU ํ์ฉ๋ฅ (Utilization)์ ์๋ฏธํ์ง๋ง, ํ๋ก์ธ์ค ๋ทฐ์ CPU ์นผ๋ผ์์ ํ์๋๋ CPU ์ด์ฉ๋ฅ ์ CPU ์ฌ์ฉ๋(Usage)์ ์๋ฏธํฉ๋๋ค.

[CPU]
ํญ ๋น๊ตCPU ์ฝ์ด ํ์ฉ๋ฅ (Utilization)
Windows ์์ ๊ด๋ฆฌ์์์ ํ์๋๋ CPU ์ฝ์ด ํ์ฉ๋ฅ (Utilization) ๋ฉํธ๋ฆญ์ ์ฑ๋ฅ ์นด์ดํฐ ์นดํ ๊ณ ๋ฆฌ(Performance Object) Processor Information ํ์์ % Processor Utility ๋ผ๋ ์ฑ๋ฅ ์นด์ดํฐ์ ํด๋นํฉ๋๋ค. ์ฑ๋ฅ ์นด์ดํฐ์ ๋ํ ์์ธํ ์ฌํญ์ Microsoft ์ฌ์ดํธ์ Performance Counters API๋ฅผ ์ฐธ๊ณ ํ๊ธฐ ๋ฐ๋๋๋ค.
Info
Windows ์ฑ๋ฅ ๋ชจ๋ํฐ(Performance Monitor)์์ ์์ง๋๋ Processor Information(_Total)โ% Processor Utility
๋ฉํธ๋ฆญ์ Windows ์์
๊ด๋ฆฌ์์ [ํ๋ก์ธ์ค]
ํญ์์ ํ์๋๋ CPU ์นผ๋ผ์ ๋ฉํธ๋ฆญ๊ณผ ์ผ์นํฉ๋๋ค(Processor Information(<cpu-group>,<core-num>)โ% Processor Utility
๋ฉํธ๋ฆญ์ [์ฑ๋ฅ]
ํญ์ ๊ฐ ๋
ผ๋ฆฌ ํ๋ก์ธ์ CPU ์ด์ฉ๋ฅ ๋ฉํธ๋ฆญ๊ณผ ์ผ์นํฉ๋๋ค).
CPU ์ฝ์ด ํ์ฉ๋ฅ (Utilization)์ ์ฃผํ์ ๊ธฐ๋ฐ(Frequency-based)์ผ๋ก ์ธก์ ๋๋ ๋ฉํธ๋ฆญ์ผ๋ก์จ ์ด๋น CPU ํด๋ญ ์ฌ์ดํด ์์ธ Hz๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ธก์ ๋๊ณ , ์ธก์ ๊ณต์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- (Processor Effective Frequency): ์ฃผ์ด์ง ์๊ฐ ๋ฒ์ ๋ด์ ๋ ผ๋ฆฌ ํ๋ก์ธ์์ ์ ํจ ์ฃผํ์()
- (Processor Base Frequency): ๋ ผ๋ฆฌ ํ๋ก์ธ์์ ๊ธฐ๋ณธ ์ฃผํ์()
Info
์ ํจ ์ฃผํ์๋ ์ค์ ๋์ํ CPU ํด๋ญ ์ฌ์ดํด ์๋ฅผ ์๋ฏธํ๋ฉฐ RDTSC ํจ์๋ฅผ ์ด์ฉํด์ ๊ณ์ฐํ ์ ์๊ณ , ๊ธฐ๋ณธ ์ฃผํ์ ์ ๋ณด๋ PROCESSOR_POWER_INFORMATION ๊ตฌ์กฐ์ฒด๋ฅผ ์ธ์๋ก ํ NtPowerInformation API ํธ์ถ์ ํตํด์ ๊ตฌํ ์ ์์ต๋๋ค.
CPU ์ฝ์ด ํ์ฉ๋ฅ (Utilization)์ ๋ ผ๋ฆฌ ํ๋ก์ธ์๊ฐ ๋ช ๋ชฉ(Nominal โ ์ด๋ก ์ ์ผ๋ก ๋ฌ์ฑํ ์ ์๋ โ) ์ฑ๋ฅ์ผ๋ก ์คํ๋๋ฉฐ ์ ํด(Idle) ์ํ๊ฐ ๋์ง ์๋ ๊ฒฝ์ฐ์ ์๋ฃํ ์ ์๋ ์์ ๋(๋ ผ๋ฆฌ ํ๋ก์ธ์๊ฐ ๋ช ๋ น์ ์คํํ๋ ๋ฐ ์๋นํ๋ ํด๋ญ ์ฌ์ดํด ์)์ ์๋ฏธํฉ๋๋ค. ์ฆ, CPU์ ๊ธฐ๋ณธ ํด๋ญ ์๋๋ฅผ ๊ธฐ์ค์ผ๋ก CPU์ ์ค์ ํด๋ญ ์๋๋ฅผ ์ธก์ ํ ๊ฐ์ด CPU ์ฝ์ด ํ์ฉ๋ฅ (Utilization) ๋ฉํธ๋ฆญ์ ๋๋ค. ๋ฐ๋ผ์ CPU ์ฝ์ด ํ์ฉ๋ฅ (Utilization) ๋ฉํธ๋ฆญ์ 100%๋ฅผ ์ด๊ณผํ๋ ๊ฐ์ผ๋ก ์ธก์ ๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Intel CPU ์ ํ ์คํ์์ ๊ธฐ๋ณธ ํด๋ญ์ด 2.5GHz์ด๊ณ ํฐ๋ณด ๋ถ์คํธ๋ฅผ ์ฌ์ฉํ ์ต๋ ํด๋ญ์ด 4.8GHz์ผ ๋, ํน์ ์ฝ์ด๊ฐ ํฐ๋ณด ๋ถ์คํธ๋ก ๋์ํด 3.1GHz๋ก ์คํ๋๋ค๋ฉด ํด๋น ์ฝ์ด์ ํ์ฉ๋ฅ (Utilization)์ 100%๋ฅผ ์ด๊ณผํ๋ ๊ฐ์ผ๋ก ์ธก์ ๋๊ฒ ๋ฉ๋๋ค.


์์ ๊ด๋ฆฌ์์ CPU ์ฝ์ด ํ์ฉ๋ฅ ๊ณผ ๋ ผ๋ฆฌ ํ๋ก์ธ์์ ์ ํจ ์ฃผํ์ ๋น๊ต
์ฐธ๊ณ
Windows ์์
๊ด๋ฆฌ์์ ๊ฒฝ์ฐ CPU ์ฝ์ด ํ์ฉ๋ฅ (Utilization) ๋ฉํธ๋ฆญ์ด 100%๋ฅผ ์ด๊ณผํ ์ง๋ผ๋ 100%๋ก ์ ์ญํ์ฌ ํ์๋ฉ๋๋ค. Processor Information(_Total)โ% Privileged Utility
๋ฉํธ๋ฆญ์ ํตํด์ ๋
ผ๋ฆฌ ํ๋ก์ธ์๊ฐ ๋ช
๋ชฉ ์ฑ๋ฅ์ผ๋ก ์คํ๋๋ฉฐ ์ ํด ์ํ๊ฐ ๋์ง ์๋ ๊ฒฝ์ฐ ์๋ฃํ ์ ์๋ ์ปค๋ ๋ช
๋ น์ด ์์
๋์ ๋ฐฑ๋ถ์จ์ ํ์ธํ ์ ์์ต๋๋ค. ์ด ๋ฉํธ๋ฆญ์ 100%๋ฅผ ์ด๊ณผํ๋ ๊ฐ์ผ๋ก ์ธก์ ๋ ์ ์์ต๋๋ค.
๋ชจ๋ํฐ๋ง
์ฑ๋ฅ ๋ชจ๋ํฐ๋ง์ ์ํํ ๋๋ % Processor Time ์นด์ดํฐ๋ก ์ธก์ ๋๋ CPU ์ฝ์ด ์ฌ์ฉ๋(Usage) ๋ฉํธ๋ฆญ ์ ๋ณด๋ฅผ ์ฐธ๊ณ ํ๋ ๊ฒ์ด ๊ฐ์ฅ ๊ธฐ๋ณธ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค. ์๋ํ๋ฉด % Processor Utility ์นด์ดํฐ๋ก ์ธก์ ๋๋ CPU ์ฝ์ด ํ์ฉ๋ฅ (Utilization) ๋ฉํธ๋ฆญ์ 100%๋ฅผ ์ด๊ณผํ์ฌ ํ์๋ ์ ์๊ธฐ ๋๋ฌธ์ ํด๋น ๋ฉํธ๋ฆญ๋ง์ผ๋ก ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง์ ์ํํ ๊ฒฝ์ฐ, ๋ถ์ ํํ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํ์ง๋ง ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง ์ % Processor Utility ์นด์ดํฐ๋ก ์ธก์ ๋๋ CPU ์ฝ์ด ํ์ฉ๋ฅ (Utilization) ๋ฉํธ๋ฆญ ์ ๋ณด๊ฐ ์๋ฌด๋ฐ ์๋ฏธ๊ฐ ์๋ ๊ฒ์ ์๋๋๋ค.

์ ๊ทธ๋ฆผ์ ์ฑ๋ฅ๊ณผ ๊ด๋ จํ์ฌ Windows๊ฐ ์ฌ์ฉํ๋ ์ธ ๊ฐ์ง ์ค๋ ๋ ์ํ๋ฅผ ํํํ ๊ทธ๋ฆผ์ ๋๋ค.
์์ ์ค๋ช ํด ๋๋ฆฐ ๊ฒ์ฒ๋ผ, CPU ์ฝ์ด ์ฌ์ฉ๋(Usage)์ ๋ ผ๋ฆฌ ํ๋ก์ธ์๊ฐ ์ค๋ ๋ โ System Idle Process๊ฐ ์๋ Application Process๊ฐ ์์ฑํ ์ค๋ ๋ โ ์คํ์ ์๋นํ๋ ์๊ฐ์ ์๋ฏธํฉ๋๋ค. ์ด๋ ๋ ผ๋ฆฌ ํ๋ก์ธ์์์ ์คํ ๊ฐ๋ฅํ ์ค๋ ๋(Ready or Running ์ํ์ ์ค๋ ๋)๊ฐ ์๋นํ๋ ์๊ฐ์ ๋ํ๋ ๋๋ค. ๋ฐ๋ผ์ CPU ์ฝ์ด ์ฌ์ฉ๋(Usage)๋ง์ผ๋ก๋ ๋ ผ๋ฆฌ ํ๋ก์ธ์์์ โ๋๊ธฐ(Waiting)โ ์ํ์ ์ค๋ ๋์ ๊ด๋ จ๋ CPU ์์ ์๋ชจ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก CPU ์ฝ์ด ํ์ฉ๋ฅ (Utilization) ๋ฉํธ๋ฆญ์ ์ด์ฉํ์ฌ โ๋๊ธฐ(Waiting)โ ์ํ์ ์ค๋ ๋์ ๊ด๋ จ๋ ๋ถํ์ํ CPU ์์ ์๋ชจ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
์ฐธ๊ณ
์ปจํ
์คํธ ์ค์์น(Context Switch)๋ OS์ ์ค์ผ์ค๋ฌ์ ์ํด์ ์๋์ผ๋ก ๋ฐ์(์ ๊ทธ๋ฆผ์ 3๋ฒ๊ณผ 4๋ฒ)๋๊ฑฐ๋, WaitForSingleObject
๋๋ Sleep(> 0)
ํจ์ ๋ฑ์ ๋ช
์์ ์ธ ํธ์ถ์ ์ํด์ ๋ฐ์(์ ๊ทธ๋ฆผ์ 1๋ฒ)๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ DPC/ISR ๋๋ SetEvent
ํจ์ ๋ฑ์ ๋ช
์์ ์ธ ํธ์ถ์ ์ํด์ ReadyThread ์ด๋ฒคํธ๊ฐ ๋ฐ์(์ ๊ทธ๋ฆผ์ 2๋ฒ)๋ฉ๋๋ค.
CPU์ ๋ํ ์ผ์ ์๋ ๊ฒ์ด ํฐ ํจ์จ์ ๋ง๋ญ๋๋ค
์ฌ๋ฌ ๊ฐ์ง ๋ด์ฉ์ ์๊ฐํ์ง๋ง ์ด ๊ธ์ ๋ด์ฉ์ ๊ฒฐ๋ก ๋ด์๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋งํ ์ ์๊ฒ ์ต๋๋ค.
CPU ์ฝ์ด ํ์ฉ๋ฅ ๊ณผ CPU ์ฝ์ด ์ฌ์ฉ๋์ ๋ชจ๋ํฐ๋งํ๋ฉด์ ์๋ฒ์ ์ฑ๋ฅ์ ์ธก์ ํ์ฌ ์ต์ ์ ์ฑ๋ฅ์ ์ด๋์ด ๋ผ ์ ์์ต๋๋ค.
๊ฒ์์ด๋ ์๋น์ค๋ฅผ ์ถ์ํ ๋ โ์ฑ๋ฅ ์ต์ ํโ๋ฅผ ์ด๋์ด ๋ธ ์๋ฒ๋, ์ฃผ์ด์ง ์ฅ๋น(Bare-metal, VM, Container ๋ฑ๋ฑ) ์คํ์ ์ต๋ํ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋ ์๋ฒ๋ฅผ ์๋ฏธํฉ๋๋ค. ๊ทธ๋ฐ ์๋ฏธ์์ ์ง๊ธ๊น์ง CPU ์ด์ฉ๋ฅ ์ ๋จ์ํ๊ฒ ๊ณ ๋ฏผํ์ จ๋ ๋ถ์ด๋ผ๋ฉด ์ด ๊ธ์ ์ฝ๊ณ ์๋ฒ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํ ๋ ๋ํ ์ผํ ์ฑ๋ฅ ์ธก์ ์ ํด๋ณด๋ฉด ์ด๋จ๊น ํฉ๋๋ค.