「collecting pv entries -- suggest increasing PMAP_SHPGPERPROC」への対処

対象プラットフォーム: FreeBSD 7.x / FreeBSD 6.x


はじめに

アクセス数が結構あるウェブサーバをFreeBSD 6.4 + apache 1.3で運用しているのですが、稀にdmesgで以下のエラーが表示されているようになりました。

「/var/log/messages」に出力されるエラー
collecting pv entries -- suggest increasing PMAP_SHPGPERPROC

メッセージをそのまま鵜呑みにすれば、PMAP_SHPGPERPROCを増やさないといけなさそうです。
「PMAP_SHPGPERPROC」については、「/usr/src/sys/i386/conf/NOTES」の中に下記の通り注意書きがあり、なんか単純に増やしただけでは別の問題を引き起こしてしまいそうです。

「/usr/src/sys/i386/conf/NOTES」内の記述(抜粋)
# Set the number of PV entries per process.  Increasing this can
# stop panics related to heavy use of shared memory.  However, that can
# (combined with large amounts of physical memory) cause panics at
# boot time due the kernel running out of VM space.
#
# If you're tweaking this, you might also want to increase the sysctls
# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target".
#
# The value below is the one more than the default.

options         PMAP_SHPGPERPROC=201

このページでは、この「collecting pv entries -- suggest increasing PMAP_SHPGPERPROC」のメッセージに対する対処について説明します。

エラーの原因とその対処

困った時のgoogle検索、ということで、上記エラーメッセージで検索すると、非常に参考になる以下のページが引っかかりました。

collecting pv entries -- suggest increasing PMAP_SHPGPERPROC

このページをかなり大胆に要約すると、

 PVエントリを大量に消費するのは子プロセスを作りまくるapacheのみである
◆apacheの設定で、KeepAliveTimeOutを短くするか、KeepAlive自体を行わないようにすることにより、PVエントリの利用数を低く抑えることが可能
 それでも上記メッセージが表示され続けるならば、PMAP_SHPGPERPROCを正しく設定すべし

とのこと。

確かに、apacheでKeepAliveを利用していると、KeepAliveタイマが満了するまで、親プロセスによって生成された子プロセスは生き続けるわけで、KeepAliveTimeOutを短くすることによって、結果としてPVエントリを減らすことができそうです。

KeepAliveTimeOutについては、デフォルトの「httpd.conf」では15(秒)となっていたので、これを10秒程度に変更します。

「/usr/local/etc/apache/httpd.conf」の変更
KeepAliveTimeout 10

上記内容を反映後、しばらく様子を見ていますが、今のところ上記のメッセージに再び出くわすことはなくなりました。

参考ページ

KeepAliveTimeOutとアクセス数の考察については、以下のページが参考になりましたので、ご紹介させていただきます。

アカラボ: apacheのKeepAliveTimeoutを変更してパフォーマンスが劇的にアップ


あなたの探し物は見つかりましたか?
まさにこれだ 参考になった ちょっと違う これじゃない
何かメッセージがあればお願いします

このメッセージを非公開にする

ご注意

・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。


まだ評価がありません

表示できるメッセージはありません。


目次に戻る
image