
우리는 CentOS에서 Maria DB 10.6.9를 실행하고 있으며 메모리 사용량이 계속 증가하는 것을 관찰하고 있습니다. 서버 사양: RAM - 128GB vCPU - 48 스왑 - 100GB
innodb_buffer_pool을 65GB로 구성했습니다.
그리고 우리는 스왑이 계속 증가하는 것을 계속해서 확인하고 있습니다.
서버는 Mariadb 전용이며 Mariadb 이외의 다른 앱은 실행되지 않습니다.
밤에는 로드가 가라앉지만 MariaDB가 메모리를 복구하고 해제하는 것을 보지 못하는 것 같습니다.
MySQL 5.7.38을 실행하는 유사한 DB 서버가 있으며 비슷한 문제가 없습니다.
다음 사항을 이해하는 데 도움이 될 수 있는 통찰력을 주시면 감사하겠습니다.
- mariadb 내에서 메모리를 사용하는 것은 무엇입니까?
- 더 높은 메모리 사용량을 유발할 수 있는 메모리에 로드된 테이블은 무엇입니까?
- mariadb의 메모리 사용량에 대한 통찰력을 제공할 수 있는 도구를 추가로 분석하는 방법은 무엇입니까?
우리 상황을 더 잘 이해하는 데 필요한 다른 정보가 있습니까?
현재 Innodb 상태를 아래에서 확인하세요. 이노디비 상태
[추가 정보 요청]
답변:https://justpaste.it/cs5vw
비:https://justpaste.it/9868l
씨:https://justpaste.it/8q99c
디:https://justpaste.it/byhv5
이자형:https://justpaste.it/cgnum
G:https://justpaste.it/ba5if
H탑:https://justpaste.it/dd57f
추가 정보 2부
1)https://jpst.it/30ItC- 상단 -b -n 1
2)https://jpst.it/30OBo- 상단 -b -n 1 -H
3)https://jpst.it/30OGm- ulimit -a
4)https://jpst.it/30OKb-iostat -xm 5 3
5)https://jpst.it/30OME-df -h
6)https://jpst.it/30OPx- 무료 -h
7)https://jpst.it/30OQF- 고양이 /proc/meminfo
8)https://jpst.it/30OTB-df -i
답변1
메모리 사용의 가능한 원인,
일반적으로 com_perpare_sql, com_execute_sql 및 com_dealloc_sql에서 균형 잡힌 카운트를 볼 수 있습니다. 쇼 전역 상태에서 com_dealloc_sql(close)이 151,033번 누락되었으며 이는 리소스가 36일 동안 해제되지 않았음을 의미합니다.
일반적으로 com_stmt_prepare, com_stmt_execute 및 com_stmt_close에서 균형 잡힌 카운트를 볼 수 있습니다. show global 상태에서 com_stmt_close가 373.474번 누락되었으며 이는 리소스가 36일 동안 해제되지 않았음을 의미합니다.
관찰에 기여할 수 있는 시간당 78개 비율로 계산된 68,677개의 aborted_clients 이벤트가 있었습니다.
27초마다 롤백을 평균하는 117,323의 com_rollback 수는 때때로 방지될 수 있습니다. 롤백 처리에는 리소스 집약적입니다. 'mysql 롤백을 방지하는 방법'을 검색하세요.
연락처는 프로필을 확인해주세요. 성능을 향상시키기 위해 많은 전역 변수를 조정할 수 있습니다.