컴퓨터 / 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
Sha_bler 2025.07.03 16:06
참고할 만한 링크

https://dev-ljy.tistory.com/4
데일리 물방울 귀걸이 원터치 은전기도금 실버 이어링 은침
캡내장기본나시 여자 골지나시 브라탑 런닝 브라렛
꼬임 데일리 젤리슈즈 여성 큐빅 플랫 단화
2컬러 남성 정장 신사구두 키높이 신발 면접 슈즈
허리케인 허리선풍기 휴대용 선풍기
무선 마우스 M331 무소음 (레드)
갤럭시 S23 플러스 지문방지 보호필름 2매
SUB 아이폰 SE 지문방지 저반사 보호필름 2매
6구 아크릴 립스틱 정리함
붙이는 몰딩 벽지보수 셀프인테리어 걸레받이 시트지 4컬러 1m
무타공 면도기 스텐 거치대 걸이
철제 더블 옷장 무타공 튼튼한 스탠드 옷걸이 행거
미니 멀티랜턴 휴대용랜턴 야간산행 등산손전등 간편한손전등
지지 성인용 자세 쿠션 통기성 어르신 자세 쿠션 다용도 탄성폼
남성 미끄럼방지 타이어 런닝화 2color
유한락스 도마행주용 500ml

A4클립보드 흑색 기본형 카파맥스
바이플러스
WL 핑구스티커 펭귄 핑구 핑가 다꾸 스티커 다이어리 노트북 핸드폰 꾸미기 스티커 다꾸 용품
칠성상회

맨위로↑