250x250
반응형
Notice
Recent Posts
Recent Comments
전산쟁이의 기억노트
/proc/meminfo 내용 분석 방법 본문
728x90
반응형
SMALL
- free와 /proc/meminfo 의 결과확인
- free 결과
$> free -m total used free shared buff/cache available Mem: 15786 7716 583 632 7487 7102 Swap: 4095 516 3579
- meminfo 파일 확인
$> cat /proc/meminfo MemTotal: 16165732 kB MemFree: 596400 kB MemAvailable: 7271976 kB Buffers: 11120 kB Cached: 7050372 kB SwapCached: 24948 kB Active: 8539812 kB Inactive: 5451740 kB Active(anon): 5466632 kB Inactive(anon): 2113380 kB Active(file): 3073180 kB Inactive(file): 3338360 kB Unevictable: 19572 kB Mlocked: 19572 kB SwapTotal: 4194300 kB SwapFree: 3665916 kB Dirty: 100 kB Writeback: 0 kB AnonPages: 6935760 kB Mapped: 117016 kB Shmem: 647612 kB Slab: 736736 kB SReclaimable: 605232 kB SUnreclaim: 131504 kB KernelStack: 9568 kB PageTables: 48308 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 12277164 kB Committed_AS: 9486816 kB VmallocTotal: 34359738367 kB VmallocUsed: 303816 kB VmallocChunk: 34358947836 kB Percpu: 3008 kB HardwareCorrupted: 0 kB AnonHugePages: 1742848 kB CmaTotal: 0 kB CmaFree: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 96400 kB DirectMap2M: 6094848 kB DirectMap1G: 10485760 kB
- free 명령어 결과와 meminfo내용 비교
free | meminfo |
---|---|
Mem: total | Memtotal |
MEM: used | MemTotal - MemFree |
Mem: free | MemFree |
Mem: shared(의미없음) | 매칭값없음 |
Mem: buffers | Buffers |
mem: cached | cached |
-/+ buffers/cache: used (Centos 66이하만 출력) |
MemTotal - (MemFree + Buffers + Cached) |
-/+ buffers/cache: free (Centos 66이하만 출력) |
MemFree + Buffers + Cached |
Swap: total | SwapTotal |
Swap: used | SwapTotal - SwapFree |
Swap: free | SwapFree |
- meminfo값 출력필드 설명
필드값 | 설 명 | 출력OS |
---|---|---|
MemTotal | 사용가능한 총 메모리 | Centos5, 6, 7 |
MemFree | 시스템에서 사용하지 않는 물리적 메모리양 | Centos5, 6, 7 |
Buffers | 버퍼 캐시 메모리(디스크 블록의 임시저장위치) | Centos5, 6, 7 |
Cached | 페이지 캐시 메모리(디스크 캐시 및 공유메모리) | Centos5, 6, 7 |
Swapcached | 스왑파일시 사용하는 메모리(메인메모리에 존재) | Centos5, 6, 7 |
Memavailable | 새로운 app을 실행할때 스왑을 사용하지 않고 사용할 수 있는 메모리(근사치) | Centos7이상 |
Active | 비교적 최근에 사용된 메모리로, 스왑아웃 혹은 회수할 수 없는 메모리 | Centos5, 6, 7 |
Inactive | 비교적 최근에 사용되지 않은 메모리로, 스왑아웃 또는 복구 할 수 있는 메모리 | Centos5, 6, 7 |
Active(anon) | 비교적 최근에 사용된 익명 메모리 | Centos 6, 7 |
Inactive(anon) | 비교적 사용되지 않고 스왑아웃할 수 있는 익명 메모리 | Centos 6, 7 |
Active(file) | 비교적 최근에 사용되고 필요할때까지 회수되지 않는 페이지 캐시 메모리 | Centos 6, 7 |
Inactive(file) | 성능에 영향주지 않고 회수할 수 있는 페이지 캐시 메모리 | Centos 6, 7 |
Unevictable | 시스템 운영상 스왑아웃할 수 없는 메모리 | Centos 6, 7 |
Mlock | 시스템 호출을 사용하게 메모리에 잠긴 페이지(Mlocked = Unevictable) | Centos 6, 7 |
SwapTotal | 사용가능한 총 스왑영역 | Centos5, 6, 7 |
SwapFree | 사용가능한 총 스왑영역 잔여공간 | Centos5, 6, 7 |
Dirty | 디스크에 다시 쓰여질때까지 기다리는 메모리 | Centos5, 6, 7 |
Writeback | 디스크에 쓰기가 진행되는 메모리 | Centos5, 6, 7 |
AnonPages | 사용자 공간 페이지에 매핑되어 있는 페이지 공간 | Centos5, 6, 7 |
Mapped | 시스템 라이브러리과 같은 파일 | Centos5, 6, 7 |
Slab | 커널 데이터 구조의 캐시 메모리 | Centos5, 6, 7 |
PageTables | 페이지 테이블에 사용되는 메모리 (많은 프로세스가 동일한 공유메모리 세그먼트에 연결되면 용량증가함) |
Centos5, 6, 7 |
NFS_Unstable | NFS서버로 전송은 되읐지만, 스토리지에 커밋되지 않는 페이지 | Centos5, 6, 7 |
Bounce | 블록장비 버퍼에 사용되는 메모리 | Centos5, 6, 7 |
CommitLimit | 커널 파라미터(vm.overcommit_ratio)을 기반으로 시스템에서 확보할 수 있는 총 메모리량 해당 값이 2인 경우 유효 |
Centos5, 6, 7 |
Committed_AS | 현재 시스템에서 예약된 메모리 양 | Centos5, 6, 7 |
VmallocTotal | vmallokc 메모리 공간의 총 크기 | Centos5, 6, 7 |
VmallocUsed | vmalloc이 사용중인 공간 | Centos5, 6, 7 |
VmallocChunk | vmalloc영역의 최대 블록 | Centos5, 6, 7 |
HugePages_Total | 커널 파라미터(vm.nr_hugepages)에 의해 확보된 hugepage 수 | Centos5, 6, 7 |
HugePages_Free | 프로세스에 의해 확보되지 않은 hugepage 수 | Centos5, 6, 7 |
HugePages_Rsvd | 풀에서 확보되었지만 예약되어 있지 않은 hugepage수 | Centos5, 6, 7 |
Hugepagesize | hugepage크기(x86dms 일반적으로 2MB) | Centos5, 6, 7 |
Shmem | 사용중인 공유메모리 총 공간 | Centos 6, 7 |
SReclaimable | 회수 가능한 slab의 일부 (캐시) | Centos 6, 7 |
SUnreclaim | 메모리가 압박된 상태에서는 회수 할 수 없는 slab 영역 | Centos 6, 7 |
KernelStack | 커널이 사용중인 메모리 (회수 불가) | Centos 6, 7 |
WritebackTmp | FUSE가 버퍼로 사용중인 메모리 | Centos 6, 7 |
HardwareCorrupted | 손상되거나 작동되지 않을때 커널이 식별한 메모리 용량 | Centos 6, 7 |
AnonHugePages | 사용자 공간 페이지에 매핑된 파일이 없는 hugepage | Centos 6, 7 |
HugePages_Surp | 커널파라미터(vm.nr_hugepages)를 초과하는 hugepage수 hugepage수는 (vm.nr_overcommit_hugepage)값에 의해 제어 |
Centos 6, 7 |
DirectMap4k | 표준 4k페이지에 매핑되는 메모리양 | Centos 6, 7 |
DirectMap2M | hugepage에 매핑되는 메모리 양(일반적으로 2M) | Centos 6, 7 |
- page: 가상메모리를 특정 사이즈로 분할한 단위 (표준은 4K)
- hugepage : 일반 표준 페이징보다 더 큰 사이즈의 페이지가 large page 혹은 huge page, Oracle / Pgsql등 DBMS에서는
해당 페이징을 활성화 하면 성능향상
출처 - http://igoni.kr/books/linux/page/procmeminfo
728x90
반응형
LIST
'Centos기술노트' 카테고리의 다른 글
리눅스 메모리 반환 (0) | 2022.08.12 |
---|---|
디스크 badblock 확인방법 (0) | 2022.08.12 |
Centos7환경에서 VNC서비스 실행시킬때 vnc failed로 응답할때 (0) | 2022.08.12 |
centos7에서 vnc 구성하기 (0) | 2022.08.12 |
Centos7에 프록시 서버 설정하기 (0) | 2022.08.12 |
Comments