HP UX H4262S 效能管理和最佳化整理 記憶體管理一
簡介
主要從九個方面進行描述
1. 1)HP-UX系統怎麼執行記憶體管理
2. 2)涉及記憶體管理的主要效能問題描述
3. 3)描述 UNIX Buffer Cache
4.
[@more@]4)描述 sync 程式5. 5)識別記憶體瓶頸的徵兆
6. 6) 識別全域性和程式記憶體指標
7. 7) 用效能分析工具分析記憶體管理問題
8. 8)描述恰當的記憶體瓶頸的更改措施
9. 9)描述serialize命令的功能
記憶體管理理解
我們透過TOP,vmstat 等記憶體檢視命令總有一個VM值,這個值的大小就是:
Virtual memory=physical memory+swap space (at disk)
記憶體管理是kernel的一個子系統 ,它負責管理計算機的主記憶體(實體記憶體 RAM)
當Process(程式) 需要空間的時候,kernel 就會分配memory page (預設大小4kb)給程式,當主記憶體(實體記憶體)free空間不夠的時候,kernel 將會把一些pages 複製到swap space ,來釋放主記憶體的空間,因此Swap space 可以看著為主記憶體的一個擴充套件
注:當進入到swap space 程式需要執行時,必須要被重新page in 到主記憶體後,才能執行。
怎樣確保主記憶體有最小的free 空間呢?
透過kernel 透過vhand 守護程式來搞定這件事情。
Vhand 守護程式負責保持對主記憶體有一個最小的free空間。透過監控未使用的pages,儘量保持free的pages數量大於某個閥值。Kernel透過paging 和deactivation的綜合方式來進行free memory數量的管理。
Free memory的大小分別透過三個閥值進行確認,三個閥值分別為:LOTSFREE ,DESFREE,MINFREE
free memory 大於 LOTSFREE 將不產出paging
free memory 小於LOTSFREE 將產出paging
free memory 小於 DESFREE 這個過程不是一個穩定的過程,相比較開始時的paging 頻率,此時的paging的頻率將大大的提高,直到free memory 大於 DESFREE
當free memory 小於MINFREE
一些process (程式)將deactivation,當一個process 被deactivation ,process 將被放入deactivation queue(佇列),vhand 守護程式將page out處於deactivation queue 裡process 的所有pages(包括u-area) swaping 到swap partition。
當free memory 大於 MINFREE,這些process 又將自動的被reactivate。當process 被reactivate後,僅僅 u-area 立即被page in。別的pages 將在需要時候才能被faulted in。
注:HP-UX 11.00 LOTSFREE ,DESFREE,MINFREE 值是可以透過核心引數調整的
在早於HP-UX 11.00版本LOTSFREE ,DESFREE,MINFREE值是不能手工調整的,都是使用HP 的推薦值。
Buffer Cache
因為硬碟通常是瓶頸,系統儘量減少硬碟的訪問次數。因此大部分常訪問的檔案就快取在記憶體的某個區域,這個區域就叫buffer cache。
只要記住buffer cache如下幾條描述,就很明白了。
Buffer cache 用來從硬碟快取大量的常用訪問檔案
Buffer cache 僅僅適用於檔案系統訪問,不適用於裸裝置。
Buffer cache 的值透過核心引數 dbc_min_pct 和dbc_max_pct進行控制
Buffer cache 加速了檔案系統的訪問速度。
Buffer cache 的值是可變化的,變化範圍在dbc_min_pct 和dbc_max_pct之間。
當需要快取更多的檔案時,buffer cache 將增大,但是不能超過dbc_max_pct設定值(以實體記憶體的百分比計算)。
當系統別的應用需要更多的記憶體時,buffer cache 也可以適當的減小。但是不能少於dbc_min_pct設定值(以實體記憶體的百分比計算)。
記住:通常一個東西都具有雙面性的,我們不要只記得buffer cache 大點的好處,其實害處也是有的。
通常一個較大的buffer cache 可以快取更多的檔案,它將縮短檔案系統的訪問時間,但是這將耗費更多的記憶體,從而別的應用使用的記憶體將減少。
注意:
如果buffer cache 設定過大,將可能造成應用突然中斷,因為此時在進行buffer cache 檔案到硬碟的存寫。
2. Buffer cache 的值透過核心引數 dbc_min_pct 和dbc_max_pct進行控制的前提是bufpages和nbuf 核心引數的值設定為“0”。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15192459/viewspace-1010174/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HP UX H4262S 效能管理和最佳化整理 記憶體管理二UX記憶體
- HP_UX硬碟管理,UX硬碟
- hp-ux記憶體不足導致交換UX記憶體
- HP-UX之MP管理UX
- HP-UX lvm管理UXLVM
- HP-UX作業系統的記憶體UX作業系統記憶體
- HP-UX環境下檢視記憶體UX記憶體
- 記憶體管理 記憶體管理概述記憶體
- HP-UX邏輯卷管理UX
- 自動共享記憶體管理 自動記憶體管理 手工記憶體管理記憶體
- 記憶體管理篇——實體記憶體的管理記憶體
- [Java效能剖析]Sun JVM記憶體管理和垃圾回收JavaJVM記憶體
- iOS 問題整理07----記憶體管理iOS記憶體
- linux記憶體管理(一)實體記憶體的組織和記憶體分配Linux記憶體
- SGA和PGA記憶體管理記憶體
- Hp ux 的一些關於記憶體監控的說明UX記憶體
- Windows記憶體管理分析(一)Windows記憶體
- 記憶體管理之一 (轉)記憶體
- 記憶體管理記憶體
- HP-UX系統管理員手冊UX
- 記憶體管理兩部曲之實體記憶體管理記憶體
- Aerospike的bin記憶體管理--即列記憶體管理ROS記憶體
- Node - 記憶體管理和垃圾回收記憶體
- JVM記憶體管理和垃圾回收JVM記憶體
- 【記憶體管理】記憶體佈局記憶體
- C語言-記憶體管理之一[記憶體分配]C語言記憶體
- 記憶體管理兩部曲之虛擬記憶體管理記憶體
- 【記憶體管理】Oracle AMM自動記憶體管理詳解記憶體Oracle
- HP-UX磁碟管理與檔案系統UX
- 記憶體管理-swMemoryGlobal記憶體
- OC記憶體管理記憶體
- iOS 記憶體管理iOS記憶體
- JavaScript 記憶體管理JavaScript記憶體
- MySQL記憶體管理MySql記憶體
- Oracle 記憶體管理Oracle記憶體
- JavaScript記憶體管理JavaScript記憶體
- 2 Day DBA-管理Oracle例項-管理記憶體-修改記憶體設定-自動記憶體管理Oracle記憶體
- HP-UX下ORACLE10gR2的共享記憶體分段UXOracle記憶體