컴퓨터 / Computer

MariaDB 메모리 누수 잡기 ( Memory Leak Issue ) - jemalloc



MariaDB 10.4 버전대에서 메모리 관련하여 문제가 있다 한다. 쿼리가 많으면 메모리를 엄청 잡아 먹는데 그 후로 갱신이 되지 않는다. 원인을 찾아 보니 malloc 함수 문제라는 이야기가 있어 그걸 아래 절차대로 교체를 해 보았다.




1. 보유 중인 malloc 확인


   mysql> SHOW VARIABLES LIKE 'version_malloc_library';


MariaDB [(none)]> SHOW VARIABLES LIKE 'version_malloc_library';

+------------------------+--------+

| Variable_name          | Value  |

+------------------------+--------+

| version_malloc_library | system |

+------------------------+--------+

1 row in set (0.001 sec)


version_mallloc_library 를 확인해 보면 system 이라고 나온다. 



2. 여러 제안이 있었지만 jemalloc을 쓰기로 했다. 아래 명령어로 설치를 한다.


  yum install jemalloc





3. library 를 설치했으면 설정 파일에 넣는다. 


  파일 수정 /etc/systemd/system/mariadb.service.d/*.conf  ( mariadb.service.d/에 conf 파일이 하나 있다.)


 아래 항목을 추가한다.


 Environment="LD_PRELOAD=/usr/lib64 /libjemalloc.so.1"


시스템마다 저 libjemalloc.so.1 위치가 다르니 위치 확인을 반드시 한 후 정확한 폴더 명을 적어줘야 한다. 




4. 시스템 적용


아래와 같이 입력한다. 


  systemctl stop mariadb.service && systemctl daemon-reload && systemctl start mariadb.service


경우에 따라서는 daemon이 안 뜨는 경우도 있는데, 그런 때는 systemctl status mariadb.service 명령어를 입력하여 오류 코드를 확인해야 한다.



5. 확인 : 아래와 같이 결과가 나오면 성공이다.



# pmap `pidof mysqld` | grep jemalloc

00007f7f114a8000    196K r-x-- libjemalloc.so.1

00007f7f114d9000   2044K ----- libjemalloc.so.1

00007f7f116d8000      8K r---- libjemalloc.so.1

00007f7f116da000      4K rw--- libjemalloc.so.1








참고 

 - https://asrarabukhair.com/2020/07/15/mariadb-10-4-x-memory-footprint-issue/

 - https://blog.daum.net/keydream/14636167





Comments

공유지기 2022.03.28 01:43
더불어서  MariaDB의 server.conf 를 아래와 같이 수정했다.


innodb_buffer_pool_size = 12G
innodb_buffer_pool_instances = 8
innodb_flush_log_at_trx_commit = 0
innodb_log_files_in_group = 3
innodb_thread_concurrency = 12
innodb_write_io_threads = 8
innodb_read_io_threads = 8
innodb_io_capacity = 200
key_buffer_size = 32M
티모르 여성용 멜빵 청바지 200339
웨이브 꼬임 디테일 에나멜 굽 포인트 샌들 슬리퍼
여성 여름 바람막이 숏 점퍼 간절기 아우터 자켓
스판덱스자외선차단장갑 운전장갑 여름 햇빛차단
삼성 노트북9 메탈 13 노트북 외부보호필름세트
갤럭시Z플립5 4 3 썸데이 컬러 범퍼케이스 ZFilp5 제
HC-0092 쫀득쿵 자동차 대시보드 논슬립차량용 거치대
(IT) 한성컴퓨터 P56 노트북 키스킨 키커버
이케아 GUBBARP 구바르프 손잡이 21mm 화이트 2개입
이케아 GLASIG글라시그 미니양초홀더 유리5x5cm 5개입
접이식선반 5단 원터치 폴딩 철제수납장 다용도선반 베란다 서재 거실 욕실 주방수납
국내산 초극세사 도넛 마사지 얼굴베개
코카콜라 업소용 슬릭 245ml 60캔 (30캔x2박스)
삼덕퀸스타 접는과도
목이길어 더 깔끔한 목이긴위생장갑 20매x50개 BOX
휴대용 폴딩 자바라 높이조절 접이식 아코디언 코끼리 의자

물고기 애벌레 원목 낚시놀이 장난감
칠성상회
반짝반짝 보석스티커(1000원X20개)
칠성상회

맨위로↑