컴퓨터 / 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
남자 파일 테리 스몰다이아 기모 두꺼운 양말 1족
남성용 왕 융털 왕스판 레깅스
따뜻한 털안감 방한 로퍼 옆지퍼 겨울신발 털신발
국산 쿨레이스 매듭없는 실리콘 운동화 신발끈 20P
캐논 iR ADV DX C38926KG 복합기 폐토너통
서피스 프로8 13형 고투명 액정보호필름 2매
LG V30 사생활 액정보호필름1매
휴대폰 거치대 테블릿 미니 거치대 각도조절가능 KK13
한일의료기 황토참숯 낙엽금사 전기매트 싱글 침대
원룸 자취생 공간활용 꼬마 네모 미니행거 8P 세트
부착식 슬라이딩 히든 서랍 특대형
(대원)고급씽크선반600 1124
SP일자가로꼭지 대형수도꼭지 야외수전 수도부속 부품
만능 집게걸이/다용도걸이 휴지걸이 랜턴걸이 등걸이
레트로 클래식 자전거벨 경적 알람 경고 안전 DIY설치
두레생협 발아옥수수차(300g)2개

3M 코맨드 와이어 훅 중형 17068 3개입
바이플러스
3M 프리미엄 스티커크리너 PIC10
바이플러스

맨위로↑