32 ビットコンピューティング環境では、ユーザーとカーネルの間で 32 ビット仮想アドレス空間が共有されます。したがって、ユーザー仮想アドレス空間のサイズは、4G バイトからカーネル仮想アドレス空間のサイズを引いたものとなります。カーネル仮想アドレス空間のサイズは、物理メモリーのサイズに応じて決まります。物理メモリーのサイズが大きくなるほど、ユーザー仮想アドレス空間のサイズは小さくなります。8G バイトのメモリーを備えたシステムの場合、ユーザー仮想アドレス空間のサイズは約 3G バイトです。
メモリー割り当て制限のためアプリケーションに十分なメモリーが得られない場合は、次の 2 つの方法があります。
カーネル仮想アドレス空間のデフォルトのサイズを減らして、ユーザー仮想アドレス空間のサイズを増やします。eeprom コマンドを使用して、kernelbase 変数をより高い値に設定できます。kernelbase の変更は慎重に行なってください。システムのカーネル仮想アドレス空間を小さくすると、システムがハングアップしたり、動作効率が低下したりすることがあります。
より良い方法としては、Solaris x86 64 ビットコンピューティング環境でアプリケーションを実行します。