MariaDB - 繼續使用更多內存

MariaDB - 繼續使用更多內存

我們在 CentOS 上運行 Maria DB 10.6.9,我們觀察到它持續增加記憶體使用量。伺服器規格:RAM - 128 GB vCPU - 48 個交換 - 100 GB

我們已將 innodb_buffer_pool 配置為 65 GB

目前記憶體使用情況如下: 在此輸入影像描述

我們繼續看到掉期繼續增加。

該伺服器專用於 Mariadb,除了 Mariadb 之外,沒有其他應用程式在該伺服器上運行。

我們的負載在晚上減弱,但我們似乎沒有看到 MariaDB 恢復並釋放任何記憶體。

我們有一個運行 MySQL 5.7.38 的類似資料庫伺服器,沒有看到類似的問題。

任何可以幫助我們理解以下內容的見解將不勝感激:

  1. mariadb 中的內存在使用什麼?
  2. 哪些表加載到記憶體中可能會導致更高的記憶體使用率?
  3. 如何進一步分析任何可以讓我們深入了解 mariadb 記憶體使用情況的工具?

您可能需要任何其他資訊來幫助您更好地了解我們的情況嗎?

目前 Innodb 狀態如下: Innodb狀態

[要求提供更多資訊]
答:https://justpaste.it/cs5vw
乙:https://justpaste.it/9868l
C:https://justpaste.it/8q99c
d:https://justpaste.it/byhv5
乙:https://justpaste.it/cgnum
G:https://justpaste.it/ba5if

最高: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(關閉)中,錯過了 151,033 次,這表示資源在 36 天內未釋放。

我們通常會看到 com_stmt_prepare、com_stmt_execute 和 com_stmt_close 的計數平衡。在您的顯示全域狀態中,com_stmt_close 被錯過了 373.474 次,這表示資源在 36 天內沒有釋放。

每小時有 68,677 個 aborted_clients 事件計數 78 個,這可能有助於觀察。

有時可以防止平均每 27 秒回滾一次的 com_rollback 計數為 117,323。回滾處理是資源密集的。搜尋「如何避免 mysql 回滾」。

請查看個人資料以獲取聯絡資訊。可以調整許多全域變數以提高效能。

相關內容