私は、openvzコンテナで実行されているUbuntu 10.04LTS 64ビットと、ソースからコンパイルされたCherokee1.0.8を使用しています。 Advanced-> I/O Cache-> NOTからI/Oキャッシュを無効にした後でも、cherokee-workerの仮想メモリ使用量は約430MBです。
この問題はopenvzに特有のものですか?多くの人が、ioキャッシュを無効にすることでvirtメモリの使用量を減らすことに成功したと報告しているためです。
htop出力: http://imgur.com/z5JEL.jpg (初心者は画像を投稿できません。)
前もって感謝します。
nidheeshdas
その少なくとも一部は、チェロキーの各スレッドに割り当てられるスタック割り当て(RLIMIT_STACK)になります...そして、チェロキーは多くのスレッドを作成します。このメモリは実際には使用されておらず、まだ使用可能であるため、通常は問題ではありませんが、OpenVZではクォータにカウントされるため、OpenVZVPSでメモリを抑える必要があります。 OpenVZは、起動したばかりの210MB以上を使用していると考えているため、256MBVPSのデフォルト構成でチェロキーを起動することすらできません。
Web構成の[詳細設定]-> [リソース]でチェロキーが使用しているスレッドの数を減らすか(cherokee.confを直接編集している場合は、設定は「server!thread_number = XX」です)、スタックを変更するだけです。 'ulimit -s SIZE_IN_KB'でチェロキーを実行する前のサイズ( 'ulimit -s'で変更する前のデフォルトを確認できます-私のVPSのデフォルトは10240、スレッドあたり10MB)。チェロキーを実行する前にulimitを設定する必要があり、システム全体ではないことに注意してください。したがって、同じシェルからチェロキーを起動する前にシェルで実行するか、チェロキーを起動する前に起動スクリプトを編集して「ulimit-sXX」を実行します。
(特にローエンドの)VPSで物事を機能させるための優れたリソースはLowEndBoxです。 " マルチスレッドアプリのスタック制限を減らす "の方法に関するブログ投稿があります。
メモリは、チェロキーではなくphp5-fpmプロセスによって使用されています。あなたは太ったphpアプリケーションを実行していますか?