이 값들은 누적된다. 두 카운터를 읽어 그 차이를 계산하면, 초당 이벤트 수와 평균 지연시간을 구할 수 있다.유일한 오버헤드는 값을 사용자 공간으로 읽어오는 것 뿐 ( 무시해도 될 정도 )vmstat
vmstat 1 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 1134592 252772 816 2093552 1 3 30 75 3 4 11 4 83 0 2
0 0 1134592 297128 816 2085824 0 0 0 61 3050 5350 8 4 88 0 0
0 0 1134592 294608 816 2085828 0 0 0 1062 855 897 4 2 93 0 0
mpstat : CPU별 사용률
mpstat
07:31:41 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
07:31:41 PM all 10.72 0.02 2.94 0.15 0.44 0.45 1.95 0.00 0.00 83.33
iostat : 디스크별 I/O 사용률 (블록 장치 인터페이스 기준)
iostat
avg-cpu: %user %nice %system %iowait %steal %idle
10.72 0.02 3.83 0.15 1.95 83.33
Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
nvme0n1 14.55 46.74 150.61 0.00 193655488 623936546 0
nvme1n1 0.23 13.32 1.13 0.00 55163620 4670311 0
sar : 다양한 통계 제공, 과거 기록을 저장하여 보고할 수도 있음
PS : 프로세스 상태
top : cpu 사용률, 다른 통계 기준으로 정렬된 프로세스 목록
pmap : 프로세스 메모리 세그먼트와 각 사용 통계 표시
$ ls -al /proc/
total 4
dr-xr-xr-x. 301 root root 0 Feb 5 20:43 .
drwxr-xr-x. 21 root root 4096 Mar 10 16:10 ..
dr-xr-xr-x. 9 root root 0 Feb 5 20:43 1
dr-xr-xr-x. 9 root root 0 Mar 20 14:02 11
dr-xr-xr-x. 9 root root 0 Mar 20 14:02 13
dr-xr-xr-x. 9 root root 0 Feb 5 21:29 13724
dr-xr-xr-x. 9 root root 0 Feb 5 21:29 13818
dr-xr-xr-x. 9 root root 0 Feb 5 21:29 13820
dr-xr-xr-x. 9 root root 0 Feb 5 21:29 13936
메모리에만 존재한다.
limit : 해당 프로세스에 부과된 자원 제한
cgroup : Cgroup 멤버십 정보 (어떤 Cgroup에 속해있는지)를 보여준다.
cat 13724/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size unlimited unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 29935 29935 processes
Max open files 524288 524288 files
Max locked memory 8388608 8388608 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 29935 29935 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
top이 프로세스별 통계를 /proc에서 읽는 방식을 strace로 트레이싱한 결과
$ stat("/proc/14704", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
$ open("/proc/14704/stat", 0_RDONLY) = 4
$ read(4, "14704 (sshd) S 1 ~)
$ close(4)
top 명령어는 시스템에 있는 모든 활성 프로세스에 대해 이런 작업을 반복하므로 많은 오버헤드가 발생한다.
CPU가 얼만큼의 캐시 용량을 가지고 있는지.
[root@ip-10-0-3-225 index0]# cat /sys/devices/system/cpu/cpu0/cache/index0/size
32K