Oct 25 22:35:08 lincoln kernel: Approaching the limit on PV entries, consider increasing either the vm.pmap.shpgperproc or the vm.pmap.pv_entry_max sysctl.
PV entriesって何?って状態です。
このエラーの意味が分かる方は回答をお願いします。
困った時の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
上記内容を反映後、しばらく様子を見ていますが、今のところ上記のメッセージに再び出くわすことはなくなりました。
少し設定を変えて様子を見てみた方がよさそうですね。
FreeBSDをご利用でしょうか?
PV entriesは、仮想記憶へのポインタのようなものです。kernelが管理します。
boot/loader.conf にある vm.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
上記内容を反映後、しばらく様子を見ていますが、今のところ上記のメッセージに再び出くわすことはなくなりました。
少し設定を変えて様子を見てみた方がよさそうですね。
ありがとうございます。試してみたいと思います。
ありがとうございます。試してみたいと思います。