3.3.1 カーネルパラメタの設定および確認をする
次に示すファイルに対して,カーネルパラメタを設定します。
-
sysctl.confファイル
-
limits.confファイル
カーネルパラメタの設定はスーパユーザで行います。HADB管理者(adbmanager)でログインしている場合は,いったんログアウトして,スーパユーザでログインし直してください。
- メモ
-
ここではviコマンドを使用して,各ファイルにカーネルパラメタを設定する方法について説明します。なお,テキストエディタで各ファイルを開いて編集することもできます。
- 〈この項の構成〉
(1) sysctl.confファイルにカーネルパラメタを設定する
カーネルパラメタをsysctl.confファイルに設定します。sysctl.confファイルの格納先を次に示します。
-
sysctl.confファイル:/etc/sysctl.conf
-
sysctl.confファイルを開きます。
スーパユーザで次に示すOSのコマンドを入力して,[Enter]キーを押してください。viコマンドを実行することで,sysctl.confファイルを編集できるようになります。
vi /etc/sysctl.conf
-
カーネルパラメタを設定します。
[I]キーを押して,編集モードに移行させてください。編集モードに移行させたら,カーソルキーを押して,カーネルパラメタを入力する位置にカーソルを移動させてください。カーソルを移動させたら,次に示すカーネルパラメタを入力します。
net.core.rmem_default = 33554432 net.core.rmem_max = 33554432 net.core.wmem_default = 33554432 net.core.wmem_max = 33554432 fs.aio-max-nr = 65536
- メモ
-
sysctl.confファイルに,すでに上記のカーネルパラメタが指定されている場合は,元に戻せるようにするため,変更前の指定値をコメントとして残しておいてください。行の先頭に「#」を入力すると,その行はコメントとして扱われます。
- 例
-
「#net.core.rmem_default = 10000」はコメントとして扱われ,指定値は無視されます。
#net.core.rmem_default = 10000
net.core.rmem_default = 33554432
入力するカーネルパラメタの詳細を次の表に示します。
表3‒3 sysctl.confファイルに指定するカーネルパラメタの一覧 項番
カーネルパラメタ
説明
1
net.core.rmem_default
受信用ウィンドウサイズのデフォルト値を指定します。33,554,432を指定してください。
2
net.core.rmem_max
受信用ウィンドウサイズの上限値を指定します。33,554,432を指定してください。
3
net.core.wmem_default
送信用ウィンドウサイズのデフォルト値を指定します。33,554,432を指定してください。
4
net.core.wmem_max
送信用ウィンドウサイズの上限値を指定します。33,554,432を指定してください。
5
fs.aio-max-nr
65,536を指定してください。
-
カーネルパラメタの設定を終了します。
編集モードで必要なカーネルパラメタを入力したら,[Esc]キーを押してコマンドモードに移行させてください。コマンドモードに移行させたら,次に示すコマンドを入力して,[Enter]キーを押してください。
:wq
編集モードで設定した内容が保存されます。これで,sysctl.confファイルにカーネルパラメタが設定されます。
(2) sysctl.confファイルに設定したカーネルパラメタを確認する
カーネルパラメタがsysctl.confファイルに設定されているかどうかを確認するため,次に示すコマンドを入力して,[Enter]キーを押してください。sysctl.confファイルに設定したカーネルパラメタを確認できます。
sysctl -p
sysctl -pコマンドを実行することで,sysctl.confファイルに設定されているカーネルパラメタの一覧が表示されます。表示されるカーネルパラメタの一覧は情報量が多いため,抜粋したものを実行結果の例として次に示します。
- ■実行結果の例
-
: net.core.rmem_default = 33554432 net.core.rmem_max = 33554432 net.core.wmem_default = 33554432 net.core.wmem_max = 33554432 fs.aio-max-nr = 65536 :
(3) limits.confファイルにカーネルパラメタを設定する
カーネルパラメタをlimits.confファイルに設定します。limits.confファイルの格納先を次に示します。
-
limits.confファイル:/etc/security/limits.conf
-
limits.confファイルを開きます。
次に示すOSのコマンドを入力して,[Enter]キーを押してください。viコマンドを実行することで,limits.confファイルを編集できるようになります。
vi /etc/security/limits.conf
-
カーネルパラメタを設定します。
[I]キーを押して,編集モードに移行させてください。編集モードに移行させたら,カーソルキーを押して,カーネルパラメタを入力する位置にカーソルを移動させてください。カーソルを移動させたら,次に示すカーネルパラメタを入力します。
adbmanager soft nofile 6400 adbmanager hard nofile 6400 adbmanager soft memlock unlimited adbmanager hard memlock unlimited
- メモ
-
limits.confファイルに,すでに上記のカーネルパラメタが指定されている場合は,元に戻せるようにするため,変更前の指定値をコメントとして残しておいてください。行の先頭に「#」を入力すると,その行はコメントとして扱われます。
- 例
-
#adbmanager soft nofile 1000
adbmanager soft nofile 6400
入力するカーネルパラメタの詳細を次の表に示します。
表3‒4 limits.confファイルに指定するカーネルパラメタの一覧 項番
カーネルパラメタ
説明
1
soft nofile
openできるファイルディスクリプタ数を指定します。HADB管理者(adbmanager)に対して,soft nofileを指定してください。soft nofileには,6400を指定してください。
2
hard nofile
openできるファイルディスクリプタ数を指定します。HADB管理者(adbmanager)に対して,hard nofileを指定してください。hard nofileには,6400を指定してください。
3
soft memlock
共有メモリのメモリロックの上限値を指定します。HADB管理者(adbmanager)に対して,soft memlockを指定してください。soft memlockには,unlimitedを指定してください。
4
hard memlock
共有メモリのメモリロックの上限値を指定します。HADB管理者(adbmanager)に対して,hard memlockを指定してください。hard memlockには,unlimitedを指定してください。
- 重要
-
soft nofileおよびhard nofileに指定する6400は,体験環境を構築するための値です。体験環境ではなく,実際の業務で使用する環境を構築する場合は,「6.2 カーネルパラメタの見積もり」を参照して,必要な値を見積もった上で指定してください。
また,実際の業務で使用する環境を構築する場合,この章でsysctl.confファイルおよびlimits.confファイルに設定したカーネルパラメタ以外にも,指定が必要なものがあります。
-
カーネルパラメタの設定を終了します。
編集モードで必要なカーネルパラメタを入力したら,[Esc]キーを押してコマンドモードに移行させてください。コマンドモードに移行させたら,次に示すコマンドを入力して,[Enter]キーを押してください。
:wq
編集モードで設定した内容が保存されます。これで,limits.confファイルにカーネルパラメタが設定されます。
(4) limits.confファイルに設定したカーネルパラメタを確認する
カーネルパラメタがlimits.confファイルに設定されているかどうかを確認するため,次に示すOSのコマンドを入力して,[Enter]キーを押してください。スーパユーザからHADB管理者(adbmanager)に切り替えることで,limits.confファイルに設定したカーネルパラメタを確認できます。
su adbmanager
一時的に,HADB管理者(adbmanager)に切り替わります。続いて,次に示すOSのコマンドを入力して,[Enter]キーを押してください。
ulimit -a
ulimit -aコマンドを実行することで,HADB管理者(adbmanager)に設定したカーネルパラメタの一覧が表示されます。表示されるカーネルパラメタの一覧は情報量が多いため,抜粋したものを実行結果の例として次に示します。
- ■実行結果の例
-
: max locked memory (kbytes, -l) unlimited open files (-n) 6400 :
実行結果の例の内容を確認したら,HADB管理者(adbmanager)からスーパユーザに切り替えます。次に示すOSのコマンドを入力して,[Enter]キーを押してください。
exit
(5) 設定したカーネルパラメタを有効にする
sysctl.confファイル,およびlimits.confファイルに設定したカーネルパラメタを有効にするために,OSを再起動します。次に示すOSのコマンドを入力して,[Enter]キーを押してください。
reboot