oracle&linux檔案系統cache
作者: 絃樂之花 | 可以轉載, 但必須以超連結形式標明文章原始出處和作者資訊及
網址http://shiri512003.itpub.net/post/37713/496811
[@more@]由於linux記憶體管理傾向先將記憶體分配到cache裡,經常導致系統記憶體free值很低,這個時候如果系統發生頻繁的記憶體申請,例如資料庫login或者需要申請比較多的記憶體時,可能會導致系統嚴重swap,影響系統的穩定性。對於不使用檔案系統cache來運算元據庫檔案的環境,檔案系統cache其實並不起太大作用,linux下沒有像aix下直接控制檔案系統記憶體使用比例的引數,只能透過配置基於內容大小和記憶體駐留時間的兩種重新整理兩種策略來管理髒資料的寫回。
為了系統能夠平穩執行,希望能夠對系統vm管理上做些調整,防止swap造成的系統不穩定局面。
1.設定lock_sga為true,確保sga部分記憶體不被swap出去。
2.適當增大min_free_kbytes值,使系統保證一定的free mem,這樣可以很大程度上緩解session衝擊帶來的swap負面效應,具體保留多大,也沒有什麼經驗,256/512M對於64G實體記憶體可以參考下。
3.適當減小swapiness值,使系統儘量不要使用swap,可以設定為10。
4.調整dirty_background_ratio&dirty_expire_centisecs&dirty_ratio
&dirty_writeback_centisecs這4個引數,從而調整後臺pdflush程式的回寫策略。
透過上面調整,基本上不會出現swap情況,但是相應系統的效能會有一定程度的下降,特別是如果涉及大量檔案操作如匯出資料到系統檔案的時候。
附:網上查到關於vm最佳化的一些資料,出處忘記了,如果侵犯到您的版權,請及時通知我,我會盡快處理,謝謝!
proc/sys/vm/最佳化
1) /proc/sys/vm/block_dump
該檔案表示是否開啟Block Debug模式,用於記錄所有的讀寫及Dirty Block寫回動作。
預設設定:0,禁用Block Debug模式
2) /proc/sys/vm/dirty_background_ratio
該檔案表示髒資料到達系統整體記憶體的百分比,此時觸發pdflush程式把髒資料寫回磁碟。
預設設定:10
3) /proc/sys/vm/dirty_expire_centisecs
該檔案表示如果髒資料在記憶體中駐留時間超過該值,pdflush程式在下一次將把這些資料寫回磁碟。
預設設定:3000(1/100秒)
4) /proc/sys/vm/dirty_ratio
該檔案表示如果程式產生的髒資料到達系統整體記憶體的百分比,此時程式自行把髒資料寫回磁碟。
預設設定:40
5) /proc/sys/vm/dirty_writeback_centisecs
該檔案表示pdflush程式週期性間隔多久把髒資料寫回磁碟。
預設設定:500(1/100秒)
6) /proc/sys/vm/vfs_cache_pressure
該檔案表示核心回收用於directory和inode cache記憶體的傾向;預設值100表示核心將根據pagecache和swapcache,把directory和inode cache保持在一個合理的百分比;降低該值低於100,將導致核心傾向於保留directory和inode cache;增加該值超過100,將導致核心傾向於回收directory和inode cache。
預設設定:100
7) /proc/sys/vm/min_free_kbytes
該檔案表示強制Linux VM最低保留多少空閒記憶體(Kbytes)。
預設設定:724(512M實體記憶體)
8) /proc/sys/vm/nr_pdflush_threads
該檔案表示當前正在執行的pdflush程式數量,在I/O負載高的情況下,核心會自動增加更多的pdflush程式。
預設設定:2(只讀)
9) /proc/sys/vm/overcommit_memory
該檔案指定了核心針對記憶體分配的策略,其值可以是0、1、2。
0, 表示核心將檢查是否有足夠的可用記憶體供應用程式使用;如果有足夠的可用記憶體,記憶體申請允許;否則,記憶體申請失敗,並把錯誤返回給應用程式。
1, 表示核心允許分配所有的實體記憶體,而不管當前的記憶體狀態如何。
2, 表示核心允許分配超過所有實體記憶體和交換空間總和的記憶體(參照overcommit_ratio)。
預設設定:0
10) /proc/sys/vm/overcommit_ratio
該檔案表示,如果overcommit_memory=2,可以過載記憶體的百分比,透過以下公式來計算系統整體可用記憶體。
系統可分配記憶體=交換空間+實體記憶體*overcommit_ratio/100
預設設定:50(%)
11) /proc/sys/vm/page-cluster
該檔案表示在寫一次到swap區的時候寫入的頁面數量,0表示1頁,1表示2頁,2表示4頁。
預設設定:3(2的3次方,8頁)
12) /proc/sys/vm/swapiness
該檔案表示系統進行交換行為的程度,數值(0-100)越高,越可能發生磁碟交換。
預設設定:60
13) legacy_va_layout
該檔案表示是否使用最新的32位共享記憶體mmap()系統呼叫,Linux支援的共享記憶體分配方式包括mmap(),Posix,System VIPC。
0, 使用最新32位mmap()系統呼叫。
1, 使用2.4核心提供的系統呼叫。
預設設定:0
14) nr_hugepages
該檔案表示系統保留的hugetlb頁數。
15) hugetlb_shm_group
該檔案表示允許使用hugetlb頁建立System VIPC共享記憶體段的系統組ID。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7591490/viewspace-1031275/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 檔案和檔案系統
- Linux系統篇-檔案系統&虛擬檔案系統Linux
- UNIX根檔案系統和附加檔案系統
- AndroidStudio 找不到cache.properties (系統找不到指定的檔案)Android
- 檔案系統
- 檔案系統(五):exFAT 檔案系統原理詳解
- Linux系統檔案系統及檔案基礎篇Linux
- 【檔案系統】嵌入式檔案系統Fatfs簡介
- 檔案系統(十):一文看懂 UBI 檔案系統
- 分散式檔案系統(HDFS)與 linux系統檔案系統 對比分散式Linux
- 檔案系統--fstab
- tmpfs檔案系統
- 系統配置檔案
- 檔案系統安全
- FUSE檔案系統
- ASM與檔案系統之間copy資料檔案--檔案系統到ASMASM
- 【Solaris】Solaris檔案系統管理1 UFS檔案系統的建立
- 【Solaris】Solaris檔案系統管理3 ZFS檔案系統的建立
- 檔案系統(四):FAT32檔案系統實現原理
- 檔案描述符和檔案系統
- asm拷貝檔案到檔案系統ASM
- Linux 檔案系統-ext3 檔案系統介紹(轉)Linux
- 細說GNU/Linux系統的檔案及檔案系統(轉)Linux
- 檔案系統(十一):Linux Squashfs只讀檔案系統介紹Linux
- exFAT 檔案系統指南
- 分散式檔案系統分散式
- Linux檔案系統Linux
- Docker 容器檔案系統Docker
- R檔案系統管理
- HPUX 擴檔案系統UX
- linux 檔案系統Linux
- 日誌檔案系統
- 檔案管理系統 (轉)
- 檔案系統基礎
- debugfs檔案系統
- Mac的檔案系統Mac
- 檔案系統&&磁碟管理(六)–swap分割槽、迴環裝置、檔案系統配置檔案fstab
- Ext2檔案系統佈局,檔案資料塊定址,VFS虛擬檔案系統