728x90
반응형
free 명령어
free 명령어는 man 페이지에서 이렇게 정의되어 있다.
커널에서 사용하는 버퍼와 캐시뿐만 아니라 시스템에서 사용 가능한 물리적 메모리와 스왑 메모리의 총량을 표시합니다. 또한, free 명령어는 /proc/meminfo 의 정보를 가져와 분석하여 수집된다.
쉽게 말해, 리눅스 시스템에서 전체적인 메모리에 대한 현황을 보여주는 명령어라고 생각하면 된다.
[사용법]
$ free [옵션]
[옵션]
-b, -k, -m, -g : 바이트, 킬로바이트, 메가바이트, 기가바이트 단위로 출력
--tera, --peta : 테라바이트, 페타바이트 단위로 출력
-h, --human : 자동으로 단위를 조정해서 출력
-w, --wide : 와이드 모드로 실행. cache와 buffers 를 따로 출력
-c, --count : 지정된 반복만큼 결과 출력
-l, --lohi : 최고/최저 메모리 상황 출력. Low 와 High 로 구분되어 출력
-s, --sceonds : 지정된 n초 마다 출력
-t, --total : 합계가 계산된 결과를 Total line 에 출력
free 명령어를 사용하면 다음과 같이 결과를 확인할 수 있다.
$ free
total used free shared buff/cache available
Mem: 498684 80788 304432 4540 113464 400244
Swap: 2097148 0 2097148
$ free -h
total used free shared buff/cache available
Mem: 486M 78M 297M 4.4M 110M 391M
Swap: 2.0G 0B 2.0G
free 명령어를 실행하게 되면 물리 메모리와 스왑 메모리에 대해 각 컬럼에 대한 값들이 나오게 된다.
- [total]
설치된 총 메모리의 크기 (/proc/meminfo 의 MemTotal 및 SwapTotal) - [used]
사용중인 메모리 크기 또는 사용중인 스왑 메모리 크기 (total - free - buffers - cache 으로 계산) - [free]
사용하지 않은 메모리 크기 또는 사용되지 않은 스왑 메모리 크기 (/proc/meminfo 의 MemFree 및 SwapFree)
total - used - buff/cache - [shared]
주로 tmpfs(메모리 파일시스템) 에서 사용하는 메모리. 여러 프로세스에서 사용할 수 있는 공유 메모리 - [buffers]
커널 buffer 로 사용중인 메모리 - [cache]
page cache 와 slab 으로 사용중인 메모리 - [buff/cache]
버퍼와 캐시 메모리의 합 - [available]
Swapping 없이 새 응용 프로그램을 사용하는 데 사용할 수 있는 메모리의 크기.
기존에 존재하던 -/+buffer/cache 부분이 사라지고 생겼다.
이렇게 free 명령어에 대한 사용 방법과 각 컬럼에 대한 정리를 해봤다.
그리고 free 명령어를 통해 메모리에 대해 알 수 있는 데 free 명령어 뿐만 아니라 다양한 명령어를 통해
메모리에 대해 확인해볼 수 있다는 것을 알아두면 좋다.
추가로 free 명령어는 /proc/meminfo 에 대한 정보를 수집해 결과를 보여주기 때문에
/proc/meminfo 에는 어떤 정보가 들어있는 지 확인해봤다.
$ cat /proc/meminfo
MemTotal: 498684 kB
MemFree: 266940 kB
MemAvailable: 395444 kB
Buffers: 2068 kB
Cached: 121924 kB
SwapCached: 0 kB
Active: 79740 kB
Inactive: 79604 kB
Active(anon): 35572 kB
Inactive(anon): 4376 kB
Active(file): 44168 kB
Inactive(file): 75228 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 2097148 kB
SwapFree: 2097148 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 35392 kB
Mapped: 22468 kB
Shmem: 4596 kB
Slab: 45728 kB
SReclaimable: 22220 kB
SUnreclaim: 23508 kB
KernelStack: 1568 kB
PageTables: 3996 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 2346488 kB
Committed_AS: 291928 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 5028 kB
VmallocChunk: 34359730176 kB
Percpu: 164 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 47040 kB
DirectMap2M: 477184 kB
free 명령어에서 사용하지 않는 부분도 많이 보인다.
그래서 /proc/meminfo 에서는 어떤 내용을 보여주는 지에 대해서도 알아보면 좋을 것 같다.
- 참고 사이트 -
https://brunch.co.kr/@dreaminz/2
https://www.whatap.io/ko/blog/37/
728x90
반응형
'리눅스 > Command' 카테고리의 다른 글
리눅스 sed 명령어로 특정 문자가 포함된 라인부터 출력하기 (2) | 2021.08.22 |
---|---|
리눅스 grep 명령어 (0) | 2021.06.08 |
리눅스 find 명령어 (0) | 2020.12.13 |
리눅스 uniq 명령어 (0) | 2020.11.09 |
리눅스 sort 명령어 (2) | 2020.11.04 |