RDS MySQL 記憶體異常高

RDS MySQL 記憶體異常高

需要你的幫助來理解這一點。我正在運行一個具有 100GB 儲存空間的 RDS MySQL 實例(SSD 上的 db.m3.large)。

我有點害怕我的記憶力還剩 50%:

圖表http://f.cl.ly/items/2130242A0K040E392h0L/10.png

我一定做錯了什麼,因為此時伺服器根本沒有被大量使用。這是過去兩週的圖表:

2 週使用圖表 http://f.cl.ly/items/2y411W0z0I1V1T0T3O3T/11.png

如您所看到的,CPU 大多為 0%,資料庫連線數低,寫入/讀取操作也低。

我確實運行所有 InnoDB 表。唯一想到的(可以將記憶體增加到如此高的水平)是我的分析功能。我有一張表(分片),用於儲存分析計算的每日摘要。該表有 4 個mediumtext字段,因此我已將 InnoDB 更改為對該表使用 Barracuda 文件格式(這樣我就可以擁有row_format=compressed)。這是唯一一個不是該實例預設值的資料庫參數(其他所有參數都是開箱即用的)。

我什至在該表中沒有很多行,目前最大的行可能最大為 35kb。最大的客戶有 56 行(我的客戶也不是很多)。所以令我驚訝的是這就是導致這種情況的原因...

你能否告訴我為什麼我的記憶力會這麼高(又稱我搞砸了)?是因為 MySQL 快取了我的分析查詢/結果嗎?還是別的什麼?

答案1

您對正在發生的情況的提示位於「可用記憶體」圖表中。如果您的資料庫在進程記憶體中保存了大量表數據和索引數據,則該數字會比實際小得多。就目前情況而言,Freeable 幾乎與 Total 一樣大。

按設計工作,這裡沒有什麼好看的。請設定 PANIC = FALSE。

相關內容