私は大企業の開発者であり、エクスポート関数に非常に大量のメモリを必要とするレガシー コードがあります。これに対処するには、ini_set('memory_limit', '4G'); 使用されている。
問題は、スクリプトがメモリ不足でクラッシュすることです。制限を 2G に設定すると、スクリプトは最後まで実行されます。1GB のピーク メモリ使用量にも達しません。
コードはバージョン管理され、会社の他のメンバーと共有されているため、制限を変更することはできず、ローカル インストールで制限を変更するのは面倒です。
私の質問は、2GB ではなく 4GB の制限でスクリプトがクラッシュする原因は何ですか?
PS: 私のセットアップは、nginx と php-fpm で Debian を実行している virtualbox マシンです。VMには4GBのRAMがあります(ただし、これを変更しても違いはないようです)。
【更新】
64 ビット オペレーティング システムで新しい仮想マシンを作成し、vm メモリを 2GB に設定すると動作します。(4GBを使用する場合はそうではありません)。私は 2GB で問題ないので、この問題はクローズします。