system management
1748181 メンバー
4163 オンライン
108759 解決策
新規ポスト

【スワップ、メモリ管理】lotsfreeやminfreeの値は変更可能ですか?

 
akasatana
アドバイザー

【スワップ、メモリ管理】lotsfreeやminfreeの値は変更可能ですか?

ページングのしきい値について質問させて下さい。

lotsfreeやminfreeの値は、

システムのブート時に設定されるらしいという事は、分かったのですが、

(参考URL:HP- UX Developer Edgeより)

http://h50146.www5.hp.com/products/software/oe/hpux/developer/document/memmanage/mem8.html

ブート後(またはブート時)に、これらの値を変更するには、どの様にすれば宜しいのでしょうか。(例えばカーネルパラメータを弄くったりして。)

使用しているOSは、11iver1(B.11.11←uname -rコマンドより)、CPUはPA-RISCです。

何卒どうぞご教授下さい。宜しくお願い致します。
2件の返信2
nadachi
レギュラーアドバイザー

【スワップ、メモリ管理】lotsfreeやminfreeの値は変更可能ですか?

ご指摘の文章から見ると、lotsfree, minfreeはブート時に物理メモリの量から計算して決めるようですね。

  この値をいじらなければならない事情は分かりませんが。 /stand/build の下でちょっと試しました。

この下にある、tune.h をみると、

#define LOTSFREE 0

#define DESFREE 0

#define MINFREE 0

になっていました。0というlotffreeの値はないですから、これが"自動でやれ"の意味だと思います。

 この下にある、"system" ファイルをコピーし、

# cd /stand/build

# cp system system.custom

この"system.custom"のファイルの末尾に、

以下の2行を加えました。

lotsfree 16384

minfree 8192

 この"system.custom" を指定してカーネルを作って見ると、

# mk_kernel -s ./system.custom

....

"vmunix_test" が出来ました。 tune.hも更新されており、この中では、

#define LOTSFREE 16384

#define DESFREE 0

#define MINFREE 8192

となっており、どうやら組み込まれたようです。

 念のため、"vmunix_test"を調べてみると、

# adb vmunix_test

PA-64 adb ($h help $q quit)

adb>lotsfree?D

lotsfree:

lotsfree: 16384

adb>minfree?D

minfree:

minfree: 8192

 となっていて、0 ではなく、一応指定した値に

なっています。このカーネルを使ってbootすれば、

この値を使う、と思うのですが。

 ( ただしこの値はvmunix_testに反映されるかどうかを知るためにいい加減に決めた値です。)

参考まで。
akasatana
アドバイザー

【スワップ、メモリ管理】lotsfreeやminfreeの値は変更可能ですか?

ご回答、有難うございました。

やっぱり、カーネルのパラメータを変える事で、lotsfreeおよびminfreeの値を変える事が出来るんですね。

実際に試して頂き、具体的な方法も教えて頂き、感謝致します。

SAMのカーネルパラメータ変更ツールを弄くってみましたが、lotsfreeおよびminfreeを変更するパラメータは見付かりませんでした。

もしかしたら、lotsfreeおよびminfreeの値を変える事はOSの規定外なのかもしれないですね。

どうも、有難うございました。