oracle&linux環境vm相關的調整
oracle&linux環境vm相關的調整
由於linux記憶體管理傾向先將記憶體分配到cache裡,經常導致系統記憶體free值很低,這個時候如果系統發生頻繁的記憶體申請,例如資料庫login或者需要申請比較多的記憶體時,可能會導致系統嚴重swap,影響系統的穩定性。對於不使用檔案系統cache來運算元據庫檔案的環境,檔案系統cache其實並不起太大作用,linux下沒有像aix下直接控制檔案系統記憶體使用比例的引數,只能通過配置基於內容大小和記憶體駐留時間的兩種重新整理兩種策略來管理髒資料的寫回。
為了系統能夠平穩執行,希望能夠通過對系統vm管理上做些調整,防止swap造成的系統不穩定局面,根據同事的建議,又參考了些原來收集vm管理的資料,初步整理了一些調整內容。
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情況,但是相應系統的效能會有一定程度的下降,特別是如果涉及大量檔案操作如匯出資料到系統檔案的時候。
大家在linux上是否也有這樣的問題?對這樣的情況,應該怎麼處理?
附上網上查到關於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。
為了系統能夠平穩執行,希望能夠通過對系統vm管理上做些調整,防止swap造成的系統不穩定局面,根據同事的建議,又參考了些原來收集vm管理的資料,初步整理了一些調整內容。
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情況,但是相應系統的效能會有一定程度的下降,特別是如果涉及大量檔案操作如匯出資料到系統檔案的時候。
大家在linux上是否也有這樣的問題?對這樣的情況,應該怎麼處理?
附上網上查到關於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/8554499/viewspace-715427/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle記憶體調整相關Oracle記憶體
- oracle之 調整 I/O 相關的等待Oracle
- RAC環境調整系統時間
- 虛擬環境搭建相關
- 【效能調整】等待事件(五)log相關等待事件
- 網路拓撲調整和PIX相關問題
- linux的vm相關引數介紹Linux
- 運維相關環境與工具掃盲運維
- Notadd 環境檢測相關資訊(Alpha)
- #環境變數 相關的環境變數請複製過來,可能會和變數
- PostgreSQL複製槽相關機制在各版本調整SQL
- Linux 核心引數 和 Oracle相關引數調整LinuxOracle
- Linux 核心引數及Oracle相關引數調整LinuxOracle
- 使用SetEnvironmentVariable調整應用程式環境變數中的path設定變數
- Oracle資料庫9i在AIX環境下的效能調整Oracle資料庫AI
- UNIX系統的桌面環境:KDE相關介紹(轉)
- linux c 環境變數相關函式Linux變數函式
- oracle 11G RAC的建立(VM虛擬環境)Oracle
- Oracle VM:虛擬環境下的Oracle VC認證Oracle
- 【效能調整】等待事件(七) io相關等待查詢指令碼事件指令碼
- (轉)Linux 核心引數及Oracle相關引數調整LinuxOracle
- redis持久化策略梳理及主從環境下的策略調整記錄Redis持久化
- Oracle DataGuard環境主備庫日誌組數和大小調整Oracle
- linux 環境下 elasticsearch 及 python 相關庫的使用LinuxElasticsearchPython
- Dart VM 的相關簡介與執行模式解析Dart模式
- 檢查linux GD環境是否有相關包Linux
- 10G RAC中的CSS TIMEOUT相關的設定和調整(ZT)CSS
- oracle 記憶體引數調整優化相關傾力整理Oracle記憶體優化
- MySQL資料庫環境如何調整磁碟IO排程演算法MySql資料庫演算法
- jekyll配置Not Pure Poole另一主題執行環境調整記錄
- Unix環境下的Oracle調優Oracle
- Python學習系列之一: python相關環境的搭建Python
- Visual SourceSafe(VSS)相關的8個環境變數變數
- sql*plus會話環境相關的引數設定檔案SQL會話
- IDEA 配置環境和相關工具整理(新手入門)Idea
- 【逐幀分析】《黑神話:悟空》gameplay相關的技術和調整細節整理GAM
- Oracle11g 自動化建庫及調整相關引數Oracle
- oracle 記憶體引數調整最佳化相關傾力整理Oracle記憶體