컴퓨터 / 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
캉가루 돈모구두솔-소 -구두솔 캉가루두구솔 나무구두
부담 없이 착용할 수 있는 트렌디한 남자 오버핏 긴팔티
캡슐우산 자외선차단 초경량 암막 우양산 양산 휴대용
스텐 네일 푸셔 니퍼 젤 큐티클 제거 셀프 손톱 3종
차량용 거치대 맥세이프 회전 충전기 원형 거치대
캐논 PG 49 정품잉크 검정 PIXMA E4290
58mm CPL 필터 편광 렌즈 DSLR 카메라 펜탁스 올림푸스 호환
HDMI V2.0 골드메탈 케이블 3m
(품질보장) 태양광 정원등 야외 센서등 가로등 벽부등 실외벽등 LED 야외등
정원 충전 조명 원형 주황색 2개세트 관리 led 열 광 전기 야외 태양 전등
TBZ 포근 방수러그 딥블루 150x200
하드웨어 다용도 브라켓 길이 커튼 알루미늄 고정 조절
프리미엄 특수부위 안창살 300g x 2팩
산도깨비 에어컨세정제 330ml 곰팡이제거제 (1개)
뽀로로 홍삼 쏙쏙 포도 100ml x 20개입
업소 가정용 집게바지걸이 옷걸이 5개

(더블에이) 복사지 A4 80g (500매)/(210x297) (1개)
칠성상회
3M 9071 필름 양면테이프 50mmx 50M
바이플러스

맨위로↑