APC が大量のメモリを使用しています。私のサーバーでは、約 30 の Wordpress と 6 つの Magento Web サイトで、PHP ファイルのサイズを超える 1GB 以上を使用しています。
オペコードは PHP ファイルよりも小さいと思いました。ソースと比較してコンパイルされたJAVAです。
たとえば、Magento の index.php はディスク上で 2571B であり、APC では 16560B を使用します。
ユーザーキャッシュは使用しません。
何か案が ?
オペコードは、それが存在するパスによってすべてのphpファイルをキャッシュします。つまり、ワードプレスのPHPファイルごとに30倍、またはMagentoのPHPファイルごとに6倍になります。それはあなたが使用しているかもしれないPEARライブラリや他のものは言うまでもありません。
また、APCを許可するためのメモリの/etc/php.d/apc.iniまたはphp.iniファイルの設定は何ですか?
apc.shm_segments=1
apc.shm_size=256
セグメントにサイズを掛けると、APCと同じ大きさになります。実際に使用していなくても、すぐにこのメモリブロックを使用できます。実際の使用法を確認するには、apc.phpファイルを確認してください。
Wordpressの最近のWordpressのインストールを見ると、少なくとも8Mのphpファイルが表示されています。したがって、WordPressをフルインストールしてAPCを使用しているサイトが30ある場合、それだけで(プラグインなしで)オペコードキャッシュに大量のデータが含まれることになります。
一般に、オペコードはファイルサイズよりも小さくする必要がありますが、100%確実に知ることはできません。たとえば、[システムキャッシュ]タブでAPC.phpを確認すると、次のファイルがキャッシュされていることがわかります/usr/share/pear/Zend/View/Abstract.php
。ディスク上では33kであることがわかっていますが、APCは20Kのメモリを使用していると報告しています。このファイルの2つのコピーが2つの場所(/usr/share/pear/Zend/View/Abstract.php
となど/usr/share/pear/Zend2/View/Abstract.php
)にあり、両方を異なるコードブロックで参照している場合、APCはそれぞれをキャッシュします-それらは異なるファイルであると見なします。