close

http://openvz.org/UBC_auxiliary_parameters

有關UBC的輔助參數說明,

在此將它中文白化一下,僅供各位參考用,同時也給自己做個記錄

因為牽扯太多作業系統的觀念了,如果有誤,也請各位包函~

UBC auxiliary parameters有十個,分別為 lockedpages、shmpages、physpages、numfile、numflock、numpty、numsiginfo、dcachesize、numiptent、swappages

設定主要及次要參數對整個系統的安全性還有穩定性是很重要的,

輔助參數在這方面與主要參數、次要參數則有很大的不同。

 輔助參數的主要功能如下所列:

用來增進應用程式的錯誤控制還有資源耗損限制,如果沒有這些輔助參數,應用程式可能會產生 bugs (forgetting unlock locked files or forgetting to collect signals) 而慢了下來,經過一些時間後,程式甚至被刪除因為記憶體被耗光了。有輔助參助時,應用程式會注意到這一些問題(attempts to create new file locks start to fail),然後顯示適當的訊息來幫助問題除錯。另外一個例子,打開檔案或建立網路連接的每個物件都會耗損一定量的資源,當容器允許他的資源接近枯竭,它通常會拒絕建立新的物件或者是終止正在運行的程式。

改善在容器裡,應用程式間的錯誤隔離。當容器間的某一個應用程式產生錯誤或不當的行為時,像是達到了輔助參數的限制時,它會終止這個行為異常的應用程式,而不是不正常終止容器裡其它運行很久的應用程式。

輔助參數可以被用來施加容器上的一些管理限制()。

So, auxiliary parameters play a role similar to limits imposed by setrlimit(2) interface and limits configurable by sysctl(8) in standard Linux installations.

因為這個資源控制的輔助作用,系統管理軟體可能僅在進階模式才會顯示輔助參數,而隱藏在基本管理模式裡。

 


 @lockedpages

不允許被換出的程序頁(page locked by mlock(2))。

這些頁也會被統計進 kmemsize根據應用程式的性質是否使用記憶體鎖定的功能,barrier 與 limits 可以設定相同,或者設定一間隔。

一些傳統的應用程式像 web,FTP,mail 並不使用記憶體鎖定功能。

設定這個參數不影響整個系統或隔離容器之間的安全性和穩定性,它的設定影響給定容器的功能性及缺少資源時應用程式的反應而已。


 @shmpages

使用shared memory的總大小(IPC, shared anonymous mappings and tmpfs objects),這些頁也會被統計進 privvmpagesbarrier 與 limit 的值應該設定相同。設定這個參數不影響整個系統或隔離容器之間的安全性和穩定性,它的設定影響給定容器的功能性及缺少資源時應用程式的反應而已。


 @physpages

容器裡程序使用的記憶體頁的總數。記憶體頁被用在數個不同的容器,只有一小部分的頁被每個容器共用。

所有容器 physpages 的加總,符合所有容器在這個系統中使用記憶體頁的總量。

針對有 VSwap-enable 功能的核心,barrier 必需設定為0,limit必需設定為這個容器可以使用的記憶體總量。

在比較舊的核心上,physpages 只用來統計而已,barrier 必需設定為0,而 limit 必需設定為 'unlimited'(LONG_MAX)。


 @numfile

開啟的檔案總數,barrier 與 limit 的值應該設定相同。設定這個參數不影響整個系統或隔離容器之間的安全性和穩定性,它的設定影響給定容器的功能性及缺少資源時應用程式的反應而已。注意,調整 barrier 值只是用來改變核心的 "pre-charging" 行為,當你修改時,你不會發現容器會有特別的行為改變,這功能加入是純粹為研究而已。


 @numflock

鎖住的檔案數,barrier 與 limit 的值應該設定一間距。設定太高的 limit 數目會允許太多的檔案被鎖住進而拖慢了整個系統,所以設定這個參數必需是合理的,依賴實際的應用程式而定


 @numpty

虛擬終端機(pseudo-terminals)數,這個參數用來限制同時能允許多少個shells session。barrier 與 limit 的值應該設定相同,設定這個參數不影響整個系統或隔離容器之間的安全性和穩定性,它的設定影響給定容器的功能性及缺少資源時應用程式的反應而已。然而,在 OpenVZ 系統中,單一容器實際的虛擬終端機數限制是 256 個。


 @numsiginfo

siginfo structures 的數目,這些也會被統計進 kmemsize一般獨立存在安裝的 Linux 系統,這限制通常都是1024個。但安裝在 OpenVZ時,numsiginfo 的限制可以每個容器分開設定。 barrier 與 limit 的值應該設定相同,而設定非常高的 limit 會降低系統的反應。不太可能容器會需要超過單一 Linux 預設的值(1024)。


 @dcachesize

鎖在記憶體中 dentry 和 inode 結構的總大小。dcachesize 參數控制了跟檔案系統有關的快取,像是 directory entry(dentry)和 inode caches。dcachesize 也會被統計進入 kmemsize。

dcachesize 設成獨立參數施行限制造成檔案操作因檢測記憶體不足時而回傳錯誤,保證一些關鍵的操作不會因記憶體短缺而失敗。barrier 與 limit 的值應該設定一間距,設定這個參數不影響整個系統或隔離容器之間的安全性和穩定性,它的設定影響給定容器的功能性及缺少資源時應用程式的反應而已。


 @numiptent

NETFILTER(IP packet filtering) entries 的總數。barrier 與 limit 的值應該設定相同。numiptent 的總數上是有限制的,這取決於一個叫做分配在 "vmalloc" 記憶體區的量,約250000 個項目建構組成。 違反此限制可能讓任何容器或 host system 的 IP packet filters 操作失敗,或是容器動失敗。,過大的 numiptent 會降低網路封包的處理速度,建議容器不要建立超過 200-300 個 numiptent


 @swappages

Note: this parameter is only available in RHEL5-based kernel since version 028stab060.2, in 2.6.27 since kiprensky.

The configuration of this parameter doesn't affect security and stability of the whole system or isolation between containers. Its configuration only affects the way OpenVZ kernel reports about available swap in a container. This is needed for some applications which refuse to run inside a container unless the kernel report that no less than some specific amount of swap is available.

If limit is set, its value is reported as the amount of total swap space in a container.

If the limit is set to LONG_MAX (which is the in-kernel default for this parameter), all the swap space values parameters (total, used, free) are reported as 0.

The value of barrier for this beancounter is ignored.

The value of held shows how much swap space is currently being used for this container.

 

arrow
arrow
    全站熱搜

    creative1223 發表在 痞客邦 留言(0) 人氣()