컴퓨터 / 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
실리콘 오다리깔창2p 오다리패드 오다리쿠션 휜다리
신형 가이드 컷트빗 곡선형 커트 빗 바리깡 셀프이발
남자청남방 오버핏 데님셔츠 캐주얼남방 IS-JK24
국산 정장양말 무압박 다이아 중목 남자 10켤레
리얼몰아이폰7 조던 Air 나이키 투명 케이스
스마트폰 타블렛 태블릿 정전식 컬러 스마트 터치펜
SICRON USB 7포트 멀티 충전기 ENC-68
엑토 스튜디오 스탠드 PC 마이크 MIC-11
오공 마루커버시트(화이트) WT90 장판보수 테잎형
계양 곰팡이제거 (박사500ml)x(5개)곰팡이제거제
칼라나무목판액자(블루)
이케아 GLASIG글라시그 미니양초홀더 유리5x5cm 5개입
Coms SATA 변환 컨버터 M.2 SSD to SATA 2.5형 HDD
코카콜라 업소용 500ml 24PET
남양유업 맛있는두유 GT 검은콩깨 200ml 30병
다용도 국산 욕실장 소형나비 화장실 수납장 정리장

메이튼 안드로이드 오토 프로 플러스 스마트폰 연동
칠성상회
MY 불스원 고광택왁스600ml
바이플러스

맨위로↑