[Command-line] free 명령어로 메모리 사용량 조회하기

2022. 4. 21. 11:39Linux/Command-line

반응형
  1. free
    1. free
    2. options
  2. 예제
    1. -s && -c
    2. -w
    3. -t
    4. -h
  3. /proc/meminfo

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

02-4


2.2. -w

-w 옵션을 사용하니, buffers와 cache가 분리되어 출력됩니다.

free -w

02-5


2.3. -t

-t 옵션을 사용하니, Mem(물리적메모리)과 Swap(swap메모리) 합산도 출력됩니다.

free -t

02-6


2.4. -h

-h 옵션을 사용하면 사람이 알아보기 쉬운 bytes 단위도 함께 출력되어 메모리 사용량을 확인하기 편리합니다.

free -h

02-7


3. /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
반응형