Sun Java System Application Server 9.1 高可用性管理指南

Procedure在 Solaris 上配置共用記憶體和信號

由於信號是一種全域性的作業系統資源,因此配置需要顧及主機上執行的所有程序,而不只是 HADB 而已。在 Solaris 上,可以編輯 /etc/system 檔案來配置信號設定。

  1. 以超級使用者身份登入。

  2. 配置共用記憶體。

    • 設定 shminfo_shmmax 以指定主機上單一共用記憶體區段的最大大小。將這個值設定為 HADB 主機電腦上安裝的 RAM 總數,值是以十六進位值表示,不得超過 2 GB。

      例如,以 2 GB 的 RAM 來說,請在 /etc/system 檔案中將值設定如下:


      set shmsys:shminfo_shmmax=0x80000000

      備註 –

      若要確定主機電腦上的記憶體量,請使用以下指令︰


      prtconf | grep Memory

    • 在 Solaris 8 或更低的版本中,請設定 shminfo_shmseg,這是每個程序可以附加的最大共用記憶體區段數。請將這個值設為每台主機節點數的 6 倍。若每台主機的節點數不超過 6 個,請在 /etc/system 檔案中增加以下指令:


      set shmsys:shminfo_shmseg=36

      在 Solaris 9 以及更高版本中,shmsys:shminfo_shmseg 已停用。

    • 設定 shminfo_shmmni,這是全系統的最大共用記憶體區段數。由於每個 HADB 節點都會配置 6 個共用記憶體區段,因此 HADB 需要的記憶體值必須至少是每個主機節點數的 6 倍。在 Solaris 9 中,若每台主機的節點數不超過 6 個,就不需要更改預設值。

  3. 配置信號。

    請在 /etc/system 檔案中檢查如下的信號配置項目:


    set semsys:seminfo_semmni=10
    set semsys:seminfo_semmns=60
    set semsys:seminfo_semmnu=30

    如果有上述項目存在,請依以下指示調高其值。

    如果 /etc/system 檔案不包含這些項目,請將它們增加至檔案的結尾處︰

    • 設定 seminfo_semmni,這是信號識別碼的最大數目。每個 HADB 節點都需要有一個信號識別碼。在 Solaris 9 中,若每台主機的節點數不超過 6 個,就不需要更改預設值。例如︰


      set semsys:seminfo_semmni=10
    • 設定 seminfo_semmns,這是全系統的最大信號數目。每個 HADB 節點都必須有 8 個信號。在 Solaris 9 中,若每台主機的節點數不超過 6 個,就不需要更改預設值。例如︰


      set semsys:seminfo_semmns=60
    • 設定 seminfo_semmnu,這是系統內還原結構的最大數目。每個連線都需要一個還原結構 (配置變數 NumberOfSessions,預設值 100)。若每台主機的節點數不超過 6 個,將其設為 600:


      set semsys:seminfo_semmnu=600
  4. 重新開機。