Solaris的資源管理

2021-04-13 03:19:50 字數 3227 閱讀 3821

注:以下文字轉貼自http://blog.sina.com.cn/u/45d51ebc010008tm:

為了確保一些大型應用程式(如

oracle)

執行良好

,需要為其分配合理的系統資源,如

:記憶體空間、訊號燈集、

cpu時間等

,這些系統資源的分配在以往的系統中通常通過可調的核心引數在

」/etc/system」

檔案中設定

,這種方式需要重新啟動機器才能使修改生效,但

solaris 10

版本中的系統資源配置管理較之前的版本有較大的變化,在

solaris10

中保留了這種傳統做法,另外還提供了另一種動態設定引數的方式,不需要重新啟動

os就可以修改這些系統限制,以下

solaris 10

中資源配置管理的例子都是基於

oracle

的應用.oracle

是乙個由多程序組成的程式

,不同的程序之間利用不同的

ipc方式實現不同的功能

,ipc

需要占用系統開銷,對

oracle

應用程式的資源限制實際上是設定

ipc所能占用的系統開銷(有關

ipc的介紹

,請參考其它書籍).

專案(project)

是solaris resource management(

資源管理

)中的基本單位。通過幾個系統命令

(projects,projadd,projmod,projdel)

對系統資源進行控制

.基於專案方式設定的資源控制在系統重新啟動後也不會丟失

.本節將以

oracle

在solaris10

上進行安裝為例,以

project

為單位為

oracle

使用者分配所有與之相關的資源。

step1.

為oracle

使用者建立新的專案.

# id –p oracle

uid=605(oracle) gid=601(dba) projid=3(default)

# projadd -u oracle -p 1233 -c "oracle parameters setting" user.oracle

其中:

-u:指定應用到該項目的使用者列表.

-c:專案的描述資訊.

-p:非負整數,專案

id號.

# id –p oracle

uid=605(oracle) gid=601(dba) projid=1233(user.oracle)

step2.

為專案新增屬性.

# projmod -a -k "project.max-shm-memory=(priv,17179869184,deny)" user.oracle (

設定最大共享記憶體為

12g,

系統物理記憶體為

32g,

單位為位元組.)

# projmod -a -k "project.max-sem-ids=(priv,2000,deny)" user.oracle

# projmod -a -k "process.max-sem-nsems=(priv,2048,deny)" user.oracle

# projmod -a -k "project.max-shm-ids=(priv,256,deny)" user.oracle

其中:

-a:表示將屬性追加到該專案資料庫中

(-r為刪除).

-k:代表key,

用於指定具體的屬性

,可以一次設定多個屬性值

,格式為:

-k key1=value1 -k "key2=(value2a),(value2b)"

step3.

檢視專案當前的設定值.

# prctl $$ (

檢視所有專案的屬性)

# prctl -n project.max-shm-memory $$ (

檢視當前使用者的屬性值)

process: 16830: -sh

name privilege value flag action recipient

project.max-shm-memory

privileged7.81gb- deny -

system 16.0eb max deny -

root

使用者預設可用的共享記憶體為

7.81gb,

約為物理記憶體的

1/4.

# prctl -n project.max-shm-memory -i projectuser.oracle

project: 1233: user.oracle

name privilege value flag action recipient

project.max-shm-memory

privileged12.0gb- deny -

system 16.0eb max deny

除了基於

project

方式來控制系統的資源之外

,系統還通過

」prctl」

工具提供另一種動態設定資源的方法,但經

prctl

工具設定的系統資源限制只有在當前的系統生效,在系統重新啟動後這些設定將會丟失.

如在系統執行時將

oracle

使用者最大能使用的共享記憶體由

12gb

改為10gb:

# prctl -n project.max-shm-memory -r -v 10g -i project user.oracle

-r:替代資料庫中該專案已有的屬性值.

-v:指定新的目標值.

# prctl -n project.max-shm-memory -i project user.oracle

project: 1233: user.oracle

name privilege value flag action recipient

project.max-shm-memory

privileged10.0gb- deny-

system 16.0eb max deny

MTK資源管理

資源檔案生成的臨時檔案主要有 custmenutree out.c,這個檔案是選單臨時檔案,生成了我們的最終顯示的選單結構。如果你新增的選單沒有顯示,正常顯示的選單突然不顯示了或者顯示錯位了,或者顯示的選單與呼叫的功能不符合了,都可以從這裡查到原因。resource base table.txt這個...

MTK資源管理

使用mtk作開發,常常不可避免和資源打交道,常使用的資源有字串,字型,選單,風格,聲音等,mtk好像沒有系統的專門的資源管理工具,導 致資源管理十分凌亂而容易出問題,雖然有些牛人也開發了一些工具來管理這些資源,但由於使用不便或者其他一些原因,比如資源由大量的巨集控制,以及修改維護 的人多,還有一些其...

linux 資源管理

一 系統資源 網路資源 儲存資源,計算資源 二 系統資源管理名命令 1.檢視目錄下的檔案使用情況 du sh 目錄 檔案 注 du sh檢視的是目錄 檔案占用block塊的大小 ll h檢視檔案 目錄的本身大小 2.檢視檔案系統 格式化好的分割槽 的使用情況 df h 注 檢視檔案系統使用i節點的情...