os:system:usage:cpu:proc_stat
문서의 이전 판입니다!
/proc/stat 정보
개념
- Linux 상에서 CPU 사용률을 확인하려면 /proc/stat 정보를 확인해야 한다.
- 쓰여진 글은 kernel 2.6.x 기준으로 작성하였다.
계산공식
cpu
그림 중에 CPU 항목만 정리해보자
| CPU | user | nice | system | idle | iowait | irq | softirq |
|---|---|---|---|---|---|---|---|
| cpu | 7357238 | 7556 | 1623734 | 7430643990 | 26226529 | 125483 | 1240241 |
| cpu0 | 2885881 | 1844 | 799830 | 1856977874 | 4873103 | 125483 | 1142224 |
| cpu1 | 2165476 | 1864 | 356690 | 1854581772 | 9656034 | 0 | 44293 |
| cpu2 | 1289125 | 1838 | 216393 | 1859517837 | 5753554 | 0 | 27451 |
| cpu3 | 1016754 | 2010 | 250820 | 1859566506 | 5943836 | 0 | 26272 |
각 필드의 정의
| cpu | cpu number, 맨처음의 cpu는 모든 CPU 정보를 나타내는 것이다 |
|---|---|
| user | normal processes executing in user mode |
| nice | niced processes executing in user mode |
| system | processes executing in kernel mode |
| idle | twiddling thumbs |
| iowait | waiting for I/O to complete |
| irq | servicing interrupts |
| softirq | servicing softirqs |
CPU 사용률 계산방법
- CPU 사용률은 사용중은 ijffies 중 idle 정보를 얻어와서 백분률로 표시하면 된다.
다음 공식으로 값을 얻을 수 있다.
(idle jiffies)*100 / (idle jiffies + use jiffies + system jiffies + low prio jiffies)
- 위의 예에서 전체 CPU 을 가져와보자 <code>
intr
- counts of interrupts serviced since boot time, for each of the possible system interrupts.
- The first column is the total of all interrupts serviced;
each subsequent column is the total for that particular interrupt.
ctxt
- the total number of context switches across all CPUs.
btime
- the time at which the system booted, in seconds since the Unix epoch.
processes
- the number of processes and threads created, which includes (but is not limited to) those created by calls to the fork() and clone() system calls.
proces_running
- the number of processes currently running on CPUs.
process_blocked
- number of processes currently blocked, waiting for I/O to complete.
os/system/usage/cpu/proc_stat.1234627378.txt.gz · 마지막으로 수정됨: 저자 starlits

