OpenVZのリソース状態を確認する。
コンテナ側で以下のコマンドを実行
# cat /proc/user_beancounters Version: 2.5 uid resource held maxheld barrier limit failcnt 171: kmemsize 8808593 10514432 14372700 14790164 0 lockedpages 0 0 2048 2048 0 privvmpages 86999 152549 262144 262144 0 shmpages 4511 5807 21504 21504 0 dummy 0 0 0 0 0 numproc 65 86 240 240 0 physpages 58785 457240 0 2147483647 0 vmguarpages 0 0 131072 131072 0 oomguarpages 43503 52001 26112 2147483647 0 numtcpsock 28 39 360 360 0 numflock 16 188 188 206 3819 numpty 4 6 16 16 0 numsiginfo 0 15 256 256 0 tcpsndbuf 213856 1438168 1720320 2703360 0 tcprcvbuf 214040 1718240 1720320 2703360 2 othersockbuf 15736 198024 1126080 2097152 0 dgramrcvbuf 0 4296 262144 262144 0 numothersock 114 120 120 120 17517 dcachesize 2887879 3624960 3409920 3624960 0 numfile 1148 1340 9312 9312 0 dummy 0 0 0 0 0 dummy 0 0 0 0 0 dummy 0 0 0 0 0 numiptent 20 20 128 128 0
「failcnt」が0なら健全らしい。
そもそもなんで今回この値を確認したくなったかというと、
コンテナ中にsambaをインストールしている環境でコンテナ側からwindows上にファイルを
コピーすると途中で止まると言われたから。
上記の結果からすると「numflock」と「numothersock」が良くない感じになっている。
それぞれの意味はこちら。
【numflock】
全てのVPS プロセスが作成するファイルロックの数
【numothersock】
TCP 以外のソケットの数。ローカル(UNIX ドメイン)
ソケットはシステム内の通信に使用されます。
UDP ソケットは、ドメインネーム サービス(DNS)の
クエリなどに使用されます。
UDPおよびその他ソケットで使用されます。
とりあえず「numothersock」から上限をあげてみた。
vzctl set 171 --numothersock 512 --save
で、もう一回samba経由でファイルを大量にコピーしてもらうも駄目。
でも「numothersock」のfailcntは増えなくなったのでこれはこれでいいみたい。
次に「numflock」も上限をあげてみる
vzctl set 171 --numflock 350 --save
で、もう一回samba経由でファイルを大量にコピーしてもらうも駄目。
「maxheld」の値が350までいってしまったのでまだ足りないということか、、、。
だめもとで一回無制限にしてみる
vzctl set 171 --numflock unlimited --save
この状態でsamba経由で大量にファイルをコピーしてもらったら出来た!
終った状態で「numflock」の「maxheld」を見ると2071だった。。
全然足りてなかったな。。
とりあえずこれでOKということにしておく。
今回初めてunlimitedなんていう設定値があることを知った。
OpenVZ環境で何か問題があったら「/proc/user_beancounters」をみよう。