리눅스 free memory
운영중에 Free Memory size가 부족하다고 하여 top 명령어로 살펴보았다.
top - 13:52:48 up 60 days, 4:05, 2 users, load average: 0.09, 0.34, 0.46
Tasks: 186 total, 1 running, 185 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.8%us, 0.2%sy, 0.0%ni, 97.8%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 47185920k total, 47125908k used, 60012k free, 1250664k buffers
Swap: 10485752k total, 120k used, 10485632k free, 30877100k cached
- Mem: 60,012 free 로 나온 것을 보아 헉 현재 60Mbytes 밖에 여유가 없다니! 과연 그럴까?
- Linux의 경우 real free = free + cached of Swap 로 봐야 한다.
free -gt 명령을 수행해 보면, 여유 메모리는 30G가 됩니다. 따라서 free 0 로 나오지만 buffers + cached 30G 의 free memory 여유가 있다고 보면 됩니다.
[jboss@hostname ~]$ free -gt
total used free shared buffers cached
Mem: 45 44 0 0 1 29
-/+ buffers/cache: 14 30
Swap: 9 0 9
Total: 54 44 10
cashed는 여유메모리로 보시면 됩니다.
리눅스 시스템은 파일형태로 관리되는 운영체제이기때문에 여유메모리를 캐쉬파일로 표현되고 있습니다.
또한 스왑이란 실제 메모리 캐쉬메모리까지 모두 사용해서,부족할때 하드 일부분을 메모리 처럼 가져다 쓸때 사용되는 메모리를 말합니다.
free -gt로 보시면 사용되는 스왑메모리는 거의없습니다.
현재 메모리 여유가 있다고 보시면됩니다.
댓글
댓글 쓰기