SQL Server 啟動後記憶體持續增長、佔滿實體 RAM 是**正常設計行為**,非記憶體洩漏。本文解析其動態管理邏輯、配置選項與監控指標,助您正確評估記憶體壓力。
在不觸發作業系統分頁(Paging)的前提下,**盡可能佔用可用實體記憶體**作為緩衝集區,減少磁碟 I/O,提升查詢效能。
| 選項 | 說明 | 建議 |
|---|---|---|
min server memory (MB) | SQL Server 嘗試保持的最小記憶體 | 生產環境設定為實體 RAM 的 50-70%,防止被其他進程擠佔 |
max server memory (MB) | SQL Server 可使用的上限 | **必須設定**,預留 2-4 GB 給 OS、備份壓縮、AV、監控代理等,避免 OS 分頁 |
Lock Pages in Memory | Windows 原則,防止 SQL Server 記憶體被分頁到磁碟 | 企業版/標準版 (SQL 2012 SP3+) 建議啟用,需授予服務帳號權限 |
max server memory 或增加實體 RAM。「SQL Server 吃光記憶體,要重啟服務釋放。」
→ 錯誤。重啟會清空計畫快取、緩衝池,導致效能暴跌。正確做法是設定max server memory並監控 PLE、Available MBytes。