ページの先頭行へ戻る
ETERNUS SF Express 15.2/ Storage Cruiser 15.2/ AdvancedCopy Manager 15.2 導入ガイド
ETERNUS

3.1.6 カーネルパラメーターのチューニング(Solaris/Linux環境だけ)

運用時に必要となるカーネルパラメーターのチューニングを行います。

3.1.6.1 カーネルパラメーターのチューニング(Solaris環境の場合)

チューニングが必要なカーネルパラメーターとその値は、使用するSolarisのリリースに対応した説明を参照してください。
Solarisの各リリースと説明箇所の対応を以下に示します。

Solaris 10、Solaris 11

/etc/systemファイルに記載する方法と、/etc/projectファイルに記載する方法があります。導入する環境に応じて、どちらかの方法でチューニングしてください。

Solaris 9

注意

表にある各パラメーターの説明で、「設定基準」が“最大値”とあるパラメーターについては、すでに設定されている値とデフォルト値を比較して、大きい方の値を設定します。“加算”とあるパラメーターについては、すでに設定されている値またはデフォルト値に加算した値を設定してください。

Solaris 9Solaris 10、およびSolaris 11(/etc/systemによるチューニング)の場合

表3.1 カーネルパラメーターのチューニング値(Solaris環境の場合)

資源

パラメーター

必要となる値

設定基準

共有メモリ

shmsys:shminfo_shmmax

40000000

最大値

shmsys:shminfo_shmmni

80

加算

セマフォ

semsys:seminfo_semmni

310

加算

semsys:seminfo_semmns (*1)

610

加算

semsys:seminfo_semmnu (*1)

512

加算

semsys:seminfo_semmsl

35

最大値

メッセージ

msgsys:msginfo_msgmax (*1)

512

最大値

msgsys:msginfo_msgmnb

4096

最大値

msgsys:msginfo_msgmni

3

加算

msgsys:msginfo_msgtql

100

最大値

(*1) Solaris 10およびSolaris 11では設定不要です。

カーネルパラメーターは、以下の方法で編集できます。

作業手順を以下に示します。

  1. 以下のコマンドを使用して、現在システムに設定されている上記表に該当するパラメーターの設定値を確認します。

    # /usr/sbin/sysdef
  2. 表3.1 カーネルパラメーターのチューニング値(Solaris環境の場合)」を参照し、現在の設定値と比較し、パラメーターごとに最大、加算の種別を考慮の上、適切な設定値を算出します。

  3. /etc/systemファイルを編集します。

    /etc/systemファイルの編集例を以下に示します。(あくまでも例ですので、環境に合わせた設定を行ってください。)

    set shmsys:shminfo_shmmax = 40000000
    set shmsys:shminfo_shmmni = 180
    set shmsys:shminfo_shmseg = 60
    set semsys:seminfo_semmni = 320
    set semsys:seminfo_semmns = 670
    set semsys:seminfo_semmnu = 542
    set semsys:seminfo_semmsl = 35
    set msgsys:msginfo_msgmax = 2048
    set msgsys:msginfo_msgmnb = 4096
    set msgsys:msginfo_msgmni = 53
    set msgsys:msginfo_msgtql = 140
  4. カーネルパラメーターのチューニングを反映させるため、システムを再起動します。

    システムを再起動するコマンドを以下に示します。

    # cd /
    # /usr/sbin/shutdown -y -i6 -g0
  5. システム再起動後、設定した値が反映されていることを、以下のコマンドの出力から確認します。

    # /usr/sbin/sysdef

Solaris 10およびSolaris 11(/etc/projectによるチューニング)の場合

注意

  • 本製品を使用するサーバで、/etc/systemファイルによるチューニングだけサポートしている他ソフトウェアを使用する場合、設定値に考慮が必要です。

  • /etc/systemファイルおよび/etc/projectファイルによるチューニングが混在する場合は、オペレーティングシステムのドキュメントを参照し、適切な値を指定してください。

  • /etc/projectファイルによるチューニングの際には、Solarisのデフォルト値より小さく設定しないように注意してください。

ETERNUS SF Managerは、以下のプロジェクト配下で動作します。

表3.2 資源制御のチューニング値

資源

パラメーター

必要となる値

設定基準

特権レベル

共有メモリ

project.max-shm-memory

172000000

加算

特権値

project.max-shm-ids

80

加算

特権値

セマフォ

project.max-sem-ids

310

加算

特権値

process.max-sem-nsems

35

最大値

特権値

メッセージ

process.max-msg-qbytes

4096

最大値

特権値

project.max-msg-ids

3

加算

特権値

特権レベルの特権値は、/etc/projectファイルに "privileged"を指定します。

パラメーターを変更するには、/etc/projectファイルを編集します。

作業手順を以下に示します。

  1. 以下のように、systemプロジェクトとuser.rootプロジェクトの初期値、および設定可能な値の上限を確認します。

    # newtask -p system
    # prctl $$
    NAME    PRIVILEGE       VALUE    FLAG   ACTION                       RECIPIENT
    process.max-port-events
    privileged      65.5K       -   deny                                 -  
    system          2.15G     max   deny                                 -
    process.max-msg-messages
    privileged      8.19K       -   deny                                 -
    system          4.29G     max   deny                                 -
    ~ 略 ~
    zone.cpu-shares
    privileged          1       -   none                                 -
    system          65.5K     max   none                                 -
    # newtask -p user.root  
    # prctl $$
    NAME    PRIVILEGE       VALUE    FLAG   ACTION                       RECIPIENT
    process.max-port-events
    privileged      65.5K       -   deny
    system          2.15G     max   deny
    process.max-msg-messages
    privileged      8.19K       -   deny                                 -
    system          4.29G     max   deny                                 -
    ~ 略 ~
    zone.cpu-shares
    privileged          1       -   none                                 -
    system          65.5K     max   none                                 -
  2. 表3.2 資源制御のチューニング値」を参照し、現在の設定値と比較し、パラメーターごとに最大、加算の種別を考慮の上、適切な設定値を算出します。

  3. projmodコマンドで、systemプロジェクトとuser.rootプロジェクトのそれぞれに対して値を設定します。

    /etc/projectファイルの編集例を以下に示します。(あくまでも例ですので、環境に合わせて正しく設定を行ってください。)

    # projmod -s -K 'project.max-msg-ids=(privileged,131,deny)' system
    # projmod -s -K 'project.max-shm-ids=(privileged,208,deny)' system
    # projmod -s -K 'project.max-sem-ids=(privileged,438,deny)' system
    # projmod -s -K 'project.max-shm-memory=(privileged,270585456,deny)' system
    # projmod -s -K 'project.max-msg-ids=(privileged,131,deny)' user.root
    # projmod -s -K 'project.max-shm-ids=(privileged,208,deny)' user.root
    # projmod -s -K 'project.max-sem-ids=(privileged,438,deny)' user.root
    # projmod -s -K 'project.max-shm-memory=(privileged,270585456,deny)' user.root
  4. 以下のコマンドを実行して設定情報を確認します。

    確認コマンドの実行例を以下に示します。

    # projects -l
    system
            projid : 0
            comment: ""
            users  : (none)
            groups : (none)
            attribs: project.max-msg-ids=(privileged,131,deny)
                     project.max-shm-ids=(privileged,208,deny)
                     project.max-sem-ids=(privileged,438,deny)
                     project.max-shm-memory=(privileged,270585456,deny)
    user.root
            projid : 1
            comment: ""
            users  : (none)
            groups : (none)
            attribs: project.max-msg-ids=(privileged,131,deny)
                     project.max-shm-ids=(privileged,208,deny)
                     project.max-sem-ids=(privileged,438,deny)
                     project.max-shm-memory=(privileged,270585456,deny)
    noproject
            projid : 2
            comment: ""
            users  : (none)
            groups : (none)
            attribs:
    default
            projid : 3
            comment: ""
            users  : (none)
            groups : (none)
            attribs:
    group.staff
            projid : 10
            comment: ""
            users  : (none)
            groups : (none)
            attribs:
    #
  5. カーネルパラメーターのチューニングを有効にします。

    実行例を以下に示します。コマンドの詳細は、Solarisのマニュアルなどを参照してください。

    • systemプロジェクト

      # newtask -p system
    • user.rootプロジェクト

      # newtask -p user.root
  6. 変更後のカーネルパラメーターの値を確認します。

    実行例を以下に示します。コマンドの詳細は、Solarisのマニュアルなどを参照してください。

    • systemプロジェクト

      # prctl -i project system
    • user.rootプロジェクト

      # prctl -i project user.root

3.1.6.2 カーネルパラメーターのチューニング(Linux環境の場合)

チューニングが必要なカーネルパラメーターとその値は、「表3.3 カーネルパラメーターのチューニング値(Linux環境の場合)」を参照してください。

なお、カーネルパラメーターの編集は、/etc/sysctl.confファイルへチューニングのためのレコードを追加または現在のレコードの値を変更することで行います。

注意

  • /etc/sysctl.confファイルに値が設定されていない場合は、OSのデフォルト値が使用されています。この場合は、OSのデフォルト値を基準に、追加・変更してください。OSが使用している値は、sysctlコマンドで表示できます。sysctlコマンドの詳細は、OSのmanコマンドで確認してください。

  • 表3.3 カーネルパラメーターのチューニング値(Linux環境の場合)」の各パラメーターの説明で、「設定済みの場合の対処」が“最大値”とあるパラメーターについては、すでに設定されている値とデフォルト値の大きい方の値を設定します。“加算”とあるパラメーターについては、すでに設定されている値またはデフォルト値に、加算した値を設定してください。

表3.3 カーネルパラメーターのチューニング値(Linux環境の場合)

資源

パラメーター名

必要となる値

設定済みの場合の対処

共有メモリ

kernel.shmmax

40000000

最大値

kernel.shmmni

50

加算

セマフォ

kernel.semの1番目の値(*1)

30

最大値

kernel.semの2番目の値(*1)

600

加算

kernel.semの4番目の値(*1)

300

加算

メッセージ

kernel.msgmax

512

最大値

kernel.msgmnb

4096

最大値

kernel.msgmni

3

加算

(*1)kernel.semパラメーターは以下の形式で記述するため、設定値である4つの値で何番目かを表します。

なお、3番目の値は、すでに設定されている値またはデフォルト値を設定してください。

kernel.sem = para1 para2 para3 para4

/etc/sysctl.confファイルの編集例を以下に示します。

kernel.shmmax = 40000000
kernel.shmmni = 4200
kernel.sem = 250 32600 32 428
kernel.msgmax = 8192
kernel.msgmnb = 16384
kernel.msgmni = 18

カーネルパラメーターのチューニングを反映させるため、システムを再起動するか、sysctlコマンドを実行してください。

システムを再起動するコマンドを以下に示します。

# cd /
# /sbin/shutdown -r now

sysctlコマンドを実行して反映する場合の入力例を以下に示します。

# /sbin/sysctl -p /etc/sysctl.conf