Linux – hugePages 설정과 메모리 사용량 관계에 대하여.

본 포스팅을 작성하는 이유는??? 머리가 나뿌기도 하지만… 지인에게 도움이 되고자 포스팅을 작성하게 되었음.

우선 이 이슈의 계기???

free 명령으로 확인을 하였을때 알 수 없는 used 사이즈가 잡혀 있더란??? ps_mem 으로 확인을 하여도 잡히지 않고
그렇다고 slab 값도 높지 않은 상황?
그럼 어디서 사용을 하고 있는 걸까?

그래서 확인 해 본결과 hugepage 설정을 해 놓았더라는…

### HugePages 설정 전
# cat /proc/meminfo
Slab:             388708 kB

AnonHugePages:     24576 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB


# ps_mem.py
---------------------------------
                        177.1 MiB
=================================
Warning: Swap is not reported by this system.


# free -m
              total        used        free      shared  buff/cache   available
Mem:           7821         252         204          24        7364        7157
Swap:          2047           0        2047

### HugePages 설정 후
# echo "vm.nr_hugepages = 1024" >> /etc/sysctl.conf
# sysctl -p 

# cat /proc/meminfo
Slab:             343616 kB

AnonHugePages:     24576 kB
HugePages_Total:     962
HugePages_Free:      962
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

# ps_mem.py
---------------------------------
                        175.7 MiB
=================================
Warning: Swap is not reported by this system.

# free -m
              total        used        free      shared  buff/cache   available
Mem:           7821        2147         221          24        5452        5265
Swap:          2047           0        2047

# HegePages 설정 전 메모리 used 계산 값
7821(Total)-204(Free)-7364(buff/cache) =  253(Used),  ps_mem 결과 177.1MiB ( slab 388708 kB )

# HegePages 설정 전 메모리 used 계산 값
7821(Total)-221(Free)-5452(buff/cache) =  2148(Used),  ps_mem 결과 175.7MiB ( slab 343616 kB )

위의 예제에서 볼 수 있듯이 HugePages 를 설정 하기 전에는 ps_mem 과 free 상에는 used 를 점유하고 있는
메모리 사용량 출처를 대략적으로 확인 할 수 있지만 HugePages 를 설정 하고 난 후에는 /proc/meminfo 상에 
Hugepagesize(2mB) * HugePages_Total = ??? 를 계산하면 free 상의 used 에서 확인되지 않던 사용량을 확인
할 수 있다.

참고 사이트 :
Link : http://blog.seabow.pe.kr/?p=6744
Link : https://oracle-base.com/articles/linux/configuring-huge-pages-for-oracle-on-linux-64
Link : https://access.redhat.com/solutions/2533271

 



Facebook Comments

(0)