私は最近、Perl を 32 ビットとしてコンパイルすると、カーネルが PAE を介してより多くのメモリをサポートおよび使用しているにもかかわらず、4GB のメモリしかアドレス指定できないことを知りました。
PHPもこれに苦しんでいますか?すべてのプログラミング言語を行いますか?
ソース: http://linux.die.net/man/1/perlsolaris 検証: 半日が無駄になった。
私は最近、Perl を 32 ビットとしてコンパイルすると、カーネルが PAE を介してより多くのメモリをサポートおよび使用しているにもかかわらず、4GB のメモリしかアドレス指定できないことを知りました。
PHPもこれに苦しんでいますか?すべてのプログラミング言語を行いますか?
ソース: http://linux.die.net/man/1/perlsolaris 検証: 半日が無駄になった。
これは、64ビットLinuxOSで実行される32ビットプロセスへのメモリ制限でより一般的に回答されています
そこでのトップアンサーの短い引用:
32ビットプロセスは、OSに関係なく、4GBの仮想メモリにしかアクセスできません。これは、プロセスがメモリアドレスに32ビットしかマップできないためです。計算を行うと、128ビットOSで実行している場合でも、32ビットアドレスは最大4GBにしかアクセスできないことがわかります。
はい、すべての32ビット言語には32ビットのアドレス空間(その32ビット)があり、メモリアクセスを4GBに制限しています。(BIOSやその他のものでも少し少ない)
これがどのように問題になるかはわかりませんが、PHPでは確かにそうではありません。問題がある場合は、64ビットOSで実行してください。Linux、Windows、Mac、あなたの選択をしてください。
http://www.marco.org/2008/06/03/64-bit-php-overcomes-the-stupid-signed-integer-limit
これは、1分のグーグルで見つけたものです:)