컴퓨터 / 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
티셔츠 17수 라운드 반팔 프린트스타 베이직 오버핏 남녀공용
고급스러운 파스텔톤 컬러 아놀드파마 숙녀 메쉬 단목 0015iu
참빗(A-18)
신형 가이드 컷트빗 곡선형 커트 빗 바리깡 셀프이발
롯데 효도라디오 ATX-08 TF재생 SOS경보음 손전등
캐논 유지보수카트리지 MC-G01
오젬 갤럭시탭S7 가로/세로거치 펜홀더 케이스
유파 전기토스터 EK-222W
접이식 좌식 소파 체어 1인 등받이 방석 바닥 의자
이케아 YLLEVAD 윌레바드 미니액자 화이트13x18cm
우드케어 오일스테인 woodcare 10리터
벽데코타일DIY접착식10P 데코타일 셀프인테리어 타일
남성 조깅 헬스 스포츠 반바지 속바지 레깅스 운동복
카프리썬 오렌지 200ml x 20입 (10입x2박스)
(냉장)칠갑 생메밀면 1KGX10EA)
초슬림 만능 틈새 먼지 브러쉬 다용도 청소솔

아이코닉스 띠띠뽀 말하는 관제센터 놀이세트 (729182)
칠성상회
하이브리드 와이퍼 윈도브러쉬 국내 전차종 350-650mm
칠성상회

맨위로↑