Ubuntu 10.04サーバーを仮想マシンにインストールし、MySQLとLighttpdを実行したいと思います。
32ビットマシンでの4ギガバイトのメモリ制限を除いて、64ビット仮想化と32ビット仮想化の間にメリットまたはデメリットはありますか。
私はVirtualboxを使用しています。
32ビットマシンでの4ギガバイトのメモリ制限を除いて、64ビット仮想化と32ビット仮想化の間にメリットまたはデメリットはありますか。
64ビット環境で実行することには多くの利点があります。最大のものは、あなたが言うように、大量のメモリに対処する能力です。 32ビットカーネルで4GBを超えるRAMをアドレス指定することはできますが、個々のプロセスは4GBに制限されます。これは「実際のRAM」だけでなく、仮想アドレス空間全体にも影響します...これは、アプリケーションがmmap()またはその他の手法を介して仮想メモリを広範囲に使用することを計画している場合に特に問題になります。 varnish httpキャッシュは、この主要な例です。議論 ここ そして他の場所。
この記事 AMDから(警告:PDF)64ビット対32ビットについて詳しく説明しています。
より多くのレジスタ、より広いメモリフェッチ(つまり、読み取り操作ごとに読み取られるビット数が多い)などによって、64ビットシステムには理論上のパフォーマンス上の利点がありますが、これまでに見たデータは、32対のパフォーマンスを示しています。現在、64ビットはどちらかを選択する理由にはなりません。
32ビットのゲストはより少ないメモリを使用します。特に理由がない限り、私は通常、64ビットホストで32ビットゲストを使用します。ハイメモリが必要な場合は64にしてください。
1つの考慮事項は、仮想マシンのRAM要件です。MySQLとLighttpdは、32ビットUbuntuと比較して64ビットUbuntuでより多くのメモリを使用することがわかります。
そのため、512以下などのRAMが少ない小さなVMで32ビットインストールを使用するのが好きです。これらのローエンド構成は、linodeやslicehostなどの多くのVPSプロバイダーでよく見られます。
64ビットコードの真の美しさを示すために私が見た唯一のベンチマークはmysql(および一般にdb)であり、これはSun Ultra 5で実行されていました(RISCランドでは、32ビットはほとんど常に少し高速です)。パフォーマンスが重要な場合、それは本当の違いを生む可能性があります。
もう1つのポイントとして、VMwareはVM 1つのCPUを使用するように設定します。パフォーマンスが必要な場合を除き、一般的に高速です(複数の仮想CPUからのオーバーヘッドがあります)。