AIX 平台上運行 Oracle 9i,記憶體管理是效能關鍵。當進程申請記憶體超過物理上限,AIX 以頁面交換應對,導致 I/O 瓶頸。本文系統梳理六大調優面向:Paging 控制、文件快取參數、交換區配置、記憶體優先級、DB_BLOCK_SIZE 選擇、Log Archive Buffer 與 SGA 調優。
1. 控制記憶體交換:Paging 機制與危害
- 大量 Paging → 效能劇降,尤其資料檔在 JFS/JFS2 文件系統上
- SGA 熱點資料同時存在於SGA 記憶體與文件系統快取 → 重複佔用記憶體 → 觸發頻繁 Paging
2. 調整 AIX 文件快取:vmtune 參數
| 參數 | 含義 | 預設值 | 建議值 |
| MINPERM | 文件快取頁低水位,低於此同時換出文件頁與計算頁 | 20% | 5% 或更低 |
| MAXPERM | 文件快取頁高水位,高於此僅換出文件頁 | 80% | 20% 或更低 |
執行:# vmtune -p 5 -P 20(即時生效,重開機失效,需加入啟動腳本)
效果:釋放記憶體給 SGA,提升快取命中率。
3. 配置足夠交換區
- 交換區不足 → 系統緩慢甚至 Hang 住
- 動態增加:
mkps / swapon
- 監控:
lsps -a 查看使用率,vmstat 監視 Paging
- 原則:交換區 > 物理記憶體,視應用需求再增(Oracle Apps/開發工具需更大)
4. 記憶體需求優先級排程
記憶體不足時,按下列優先級分配:
- AIX 核心 + Oracle 核心進程
- 應用程式進程
- Oracle Redo Log Buffer
- PGA + Shared Pool
- Database Block Buffer Cache
實例:Shared Pool 與 Block Buffer 同時缺記憶體 → 優先給 Shared Pool,效益更高。
5. 資料區塊大小選擇
| 環境 | DB_BLOCK_SIZE 選項 | 對齊要求 |
| 檔案系統 (JFS/JFS2) | 2K, 4K, 8K, 16K, 32K | 4KB 整數倍 |
| 裸裝置 | 2K, 4K, 8K, 16K, 32K | 512B 整數倍 |
應用類型建議:
- OLTP / 混合:2KB 或 4KB
- BI / DSS:8KB, 16KB, 32KB
6. 調整日誌歸檔快取
LOG_ARCHIVE_BUFFER_SIZE:預設 4KB → 建議 128KB
- 效益:歸檔操作效能提升 0-20%
- 注意:勿過大影響整體系統記憶體
7. SGA 大小調優
- SGA 被 Paging 出去 = 效能災難,必須配置足夠物理記憶體
- 大量併發用戶 → 配置大 SGA
- 影響最大兩參數:
DB_BLOCK_BUFFERS (或 9i DB_CACHE_SIZE)、SHARED_POOL_SIZE
- 增大兩參數 → CPU 使用率同步提升(邏輯讀增加)
結語
AIX 上 Oracle 效能 = 記憶體規劃 × 儲存對齊 × 參數調校。核心策略:壓縮文件快取騰空間給 SGA、確保交換區充裕、依應用類型選區塊大小、優先保障 Shared Pool。建立 vmstat/lsps/AWR 三位一體監控體系,動態調優。
- 上一篇文章: Oracle 匯入效能優化三大層次:系統參數、初始化參數與導入選項實戰調校
- 下一篇文章: Excel 資料匯入 Oracle 實戰:SQL*Loader 制表符分隔檔案載入完整步驟
Copyright ©
程式碼之家 All Rights Reserved