続・OpenVZにハマる

Apacheなんかは簡単にコンパイルできたのですが,phpなんかでコンパイル時にオプションてんこ盛りにすると,途中でコンパイルが止まってしまいました.使ったコンパイルIntel C++のお試し版.Out of memoryで,コンパイルプロセスがkillされてしまいました.

Out of memoryでkillされるかどうかを定めるパラメータはOOMGUARPAGESと書いてあったので,色々設定してみたのですが,全然ダメ.
PRIVVMPAGESやVMGUARPAGESのlimitを増やしてみてもダメ.

結局,ポイントは,Out of memoryを起こす仮想マシンに入って,

less /pros/user_beancounters

をすると分かりました.PRIVVMPAGESのfailcntというところが沢山カウントアップされていて,maxheldの値がbarrierより大きく,limitよりは小さくなってたので,PRIVVMPAGESのbarrierの値を大きくしたら,phpコンパイルが通りました.

また,その後,別なVZマシンでpostfixを実行するときもうまく稼動しなかったのですが,それもやっぱりuser_beancountersを見ると,ソケットバッファが足りていないことが分かって解決しました.
溢れてる分だけconf-sampleファイルの中を書き換えて,

vzctrl set 101 --applyconfig aaa --save

とかやれば,特にVZマシンを再起動なんてせずに,その場で反映,OKです.