컴퓨터 / 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
티뷰크 SS 정비복 TB-730
여자 여름 박스핏 오버핏 프린팅 티셔츠 롱티 반팔티
빅사이즈 쉬폰 헤어슈슈 얼굴작아보이는 여름 곱창끈
토끼 레터링 프린팅 반팔 박스티셔츠 라운드넥 홈웨어
갤럭시 S23 고투명 휴대폰 액정보호필름 2매
커널형 이어폰 블랙 무통증 유선이어폰
오쿠 두유 제조기 죽 이유식 제조기 두유기 600ml
뉴신형 NX6000W 차량용 테블릿 CD슬롯 휴대폰 거치대
이케아 YLLEVAD 윌레바드 미니액자 화이트13x18cm
칸막이 파티션 설치 고정 브라켓 받침대 L자 DD-11939
이케아 GUBBARP 구바르프 손잡이 21mm 화이트 2개입
이케아 GLASIG글라시그 미니양초홀더 유리5x5cm 5개입
국산일체형트랩 세면대 배수관 부속품 폽업 트랩
코카콜라 제로 업소용 1.25L 12PET
아리랑 옛날십리사탕 570g X 10개입 1박스
샘표 진간장 덕용 14L 대용량 1개

3M 8997 폴리이미드 캡톤테이프 20mm x 32.9M
바이플러스
가정용 코팅기 KOLAMI-324 4롤러 A3 무소음 무기포
칠성상회

맨위로↑