컴퓨터 / 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
투라인 스포티포인트 찍찍이 아동 운동화 205392
키밍 기능성 스포츠 장갑 스마트폰 터치 방한 글로브
BYC 여성 내복 60수 프라임 상하 DOLT6658-화이트
부드럽고 포근한 소프트 터치 약기모 라운드티
한일의료기 극세사누빔 절전형매트 전기방석 180cm
LG 그램17 17Z90S 노트북 코팅키스킨
키친아트 핸디블랜더 거품기 분쇄기 주서기 믹서기
LG 울트라PC 17UD70P 노트북 코팅키스킨(지문뚫림)
원형 LED 직부등 엣지 6인치 16W 주광 KS 자석타입
심플 부착식 정리 수납함 미니 수납 서랍장
해동지(월드 420x365MM 1줄(100개)
브이텍 벽지 접착제125g VT107K 벽지풀 이음새 보수용
고급 스텐레스스틸 실버주전자 7리터 주방주전자
외풍 차단 샷시형 창틀 바람막이 패드 1m X 5개
업소용 가정용 크린랩 알미늄 쿠킹 호일 33cmx30m
한우물 구운 주먹밥 100g 5종 10개

차량용 메탈 주차번호판 휴대폰번호판 블랙
칠성상회
연필 HB 5본 초등생연필 메모펜슬
칠성상회

맨위로↑