컴퓨터 / 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
남자 발목 방수 장화 신발 농사일 레인 숏부츠 코디
미니 크로스백 핸드폰가방 미니백 스타 폰가방
다이아 블랙 EVA 오피스 슬리퍼 260mm
등산모자 낚시 캠핑 아웃도어 자외선차단 메쉬 챙모자
NMA-3R150M RCA 3선 케이블(5) 15m
풍년 뉴하이커머스 업소용 전기보온밥솥 35인
이케아 PRODUKT 프로둑트 우유거품기 전동크리머 블랙
캥거 소음 측정기 층간소음 데시벨 소음계 KGA-350
벽 보수 월패치 석고보드 구멍 메꾸미 NC-T 5cm 5개
체어로만 로베르 침대형 중역 피시방 의자 (착불)
접이식 나무탁자 쇼파옆 미니테이블 정원 마당 꾸미기
무타공 아트월 액자걸이 대리석 틈새 후크 셋쿡
칼라채 (소)
껌자국 바닦긁기 바닥 유리 스티커 제거 스크래퍼
GE_2289(18리터) 등산가방
발가락 휨방지 발가락링 밸런스링 발가락보호대

태영 EVA 폼 양면 테이프 2T 25mm x 10M
칠성상회
닥쏘오토 벨크로 코일매트 확장형 더뉴 그랜져IG FACE LIFT 포함 1열2열 세트
칠성상회

맨위로↑