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

https://dev-ljy.tistory.com/4
BYC 남성 심플 베이직 단색 민소매런닝 DOLE1002
입고 벗기 편한 주니어 브라런닝 팬티 세트 0425sy
7DAYS 남아여아 골지 단색 중목 양말 4켤레세트205978
에스미 밍크 무지 부츠컷 팬츠 SD-231022
가정용 미니 초음파 세척기 안경 귀금속
HP 335W USB 3.2 Flash Drives 휴대용 저장장치 USB 메모리 드라이브 128GB
멀티 USB 3.1 카드리더기 9723TC-OTG NEXTU
Linkvu 코일리 투톤 배색 Type-C 데이터 충전 길이조절 케이블 120W USB C to C
암막커튼 210 중문가림막 천 창문가리개 주방패브릭 바란스 공간분리 현관가림막현관문간이
LED 전구 크리스마스 미니 트리 나무 15X40cm 오브제
LED1000구검정선USB지네전구25m리모컨포함
무보링 댐퍼 경첩 4p세트 무타공 인도어 장롱 경첩
웅진 빅토리아 탄산수 자몽 500ml X 20개입
한일 코스모스 수저세트 10P
스카트 잘 닦이는 세정티슈 80매x6개
일회용 숟가락(화인 1Px100입)

프린세스 캐치티니핑 시즌6 분장놀이 아름핑 10000
칠성상회
새콤달콤 캐치티니핑 시즌4 티니핑 분장놀이 3
칠성상회

맨위로↑