[Command-line] free 명령어로 메모리 사용량 조회하기
2022. 4. 21. 11:39ㆍLinux/Command-line
반응형
1. free
1.1. free
free [options]
시스템 상의 메모리 사용량을 조회하는 명령어
물리적 메모리 뿐만아니라 swap 메모리나 커널에 의해 사용된 버퍼나 캐시도 표시합니다.
모든 메모리 정보는 /proc/meminfo
에 들어있으며 free 명령어는 /proc/meminfo
를 파싱한 값을 모은 정보를 표현합니다.
메모리는 여러 컬럼으로 구분하여 표시되며, 각 컬럼에 대한 설명은 아래와 같습니다.
- total
- 총 메모리
- MemTotal, SwapTotal
- used
- 사용중인 메모리
- total - free - buffers - cache
- free
- free 메모리
- MemFree, SwapFree
- shared
- tmpfs등에서 사용하는 메모리
- buff/cache
- buffers + cache 에서 사용중인 메모리
- -w 옵션을 이용할 경우 따로 표시됩니다.
- buffers
- kernel buffers 에서 사용중인 메모리
- cache
- page cache와 slabs 에서 사용중인 메모리
1.2. options
1.2.1. 용량관련 옵션
옵션 | 설명 |
---|---|
-b, --bytes | bytes로 메모리 사용량 표시 |
-k, --kilo | kilobytes로 메모리 사용량 표시 |
-m, --mega | megabytes로 메모리 사용량 표시 |
-g, --giga | gigabytes로 메모리 사용량 표시 |
- --tera | terabytes로 메모리 사용량 표시 |
--peta | petabytes로 메모리 사용량 표시 |
※ 다만, 위의 옵션을 이용할 경우 단위 표시 없이 숫자로만 표시됩니다. -h 옵션과 함께 써야, B, K, M, G, T, P
와 같은 바이트단위가 표시됩니다.
1.2.2. 그외 옵션
- -h, --human
- 사람이 읽기 쉬운 형태로 용량을 표시합니다.
B, K, M, G, T, P
- -s N, --seconds N
- N초마다 반복 출력
- -c N, --count N
- N회 출력 후 종료
- -s 옵션을 사용에 이용되는 옵션입니다.
- -t, --total
- 물리적 메모리와 swap메모리의 합을 포함하여 출력합니다.
2. 예제
2.1. -s && -c
2초 간격으로 3번 메모리 사용량을 출력합니다.
free -s 2 -c 3
2.2. -w
-w 옵션을 사용하니, buffers와 cache가 분리되어 출력됩니다.
free -w
2.3. -t
-t 옵션을 사용하니, Mem(물리적메모리)과 Swap(swap메모리) 합산도 출력됩니다.
free -t
2.4. -h
-h 옵션을 사용하면 사람이 알아보기 쉬운 bytes 단위도 함께 출력되어 메모리 사용량을 확인하기 편리합니다.
free -h
3. /proc/meminfo
/proc/meminfo
메모리 사용량은 /proc/meminfo
를 파싱한 값을 모은 정보이기 때문에, /proc/meminfo
에서도 메모리 사용량을 확인할 수 있습니다.
cat /proc/meminfo
MemTotal: 705132 kB MemFree: 72588 kB MemAvailable: 144024 kB Buffers: 0 kB Cached: 154984 kB SwapCached: 86020 kB Active: 237052 kB Inactive: 253740 kB Active(anon): 160812 kB Inactive(anon): 185604 kB Active(file): 76240 kB Inactive(file): 68136 kB Unevictable: 12380 kB Mlocked: 12380 kB SwapTotal: 8388604 kB SwapFree: 7315452 kB Dirty: 72 kB Writeback: 0 kB AnonPages: 341684 kB Mapped: 76296 kB Shmem: 92 kB KReclaimable: 33020 kB Slab: 67904 kB SReclaimable: 33020 kB SUnreclaim: 34884 kB KernelStack: 5024 kB PageTables: 14056 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 8741168 kB Committed_AS: 2681044 kB VmallocTotal: 34359738367 kB VmallocUsed: 17024 kB VmallocChunk: 0 kB Percpu: 624 kB HardwareCorrupted: 0 kB AnonHugePages: 30720 kB ShmemHugePages: 0 kB ShmemPmdMapped: 0 kB FileHugePages: 0 kB FilePmdMapped: 0 kB CmaTotal: 0 kB CmaFree: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB Hugetlb: 0 kB DirectMap4k: 547684 kB DirectMap2M: 497664 kB DirectMap1G: 0 kB
728x90
반응형
'Linux > Command-line' 카테고리의 다른 글
[Command-line] uniq command in Linux (0) | 2022.02.22 |
---|---|
[Command-line] nl을 이용한 줄번호 설정 (0) | 2021.08.12 |
ssh 터널링을 이용한 원격 private database 접속 (0) | 2021.03.03 |
[Command-line] sort 명령어를 이용한 텍스트 정렬 (0) | 2021.01.12 |
[Command-line] tr 명령어를 이용한 character set 변환 및 삭제 (0) | 2021.01.05 |