以前にも同様の状況があり、32 ビット アプリ (Tomcat ベースの J2EE アプリ) を 64 ビット マシンに移行しようとしました。あなたが直面している結果を観察します。
ところで、64ビットOSに移行した理由については言及していません:)。
あなたの質問を一つずつ取り上げましょう
64 環境で 32 ビット アプリケーションを実行すると、ここで問題を引き起こしている追加の CPU / メモリが必要ですか。
一般的にはい。ただし、プロセッサのアーキテクチャにも依存します。これを理解するには、Windows が 64 ビット マシンで 32 ビット アプリケーションを実行する方法を見てください。WoW64 ( Windows 64 ビット上の Windows 32 ビット)と呼ばれる 64 ビット OS 内のサブシステムがあります。
主にWoW64が行う方法は 2 つあります。
32 ビット命令のエミュレート。これは計算コストが非常に高く、おそらく CPU 使用率の急上昇の原因です。これは通常、Intel Itanium (IA-64) ベースのプロセッサを使用する場合に当てはまります。
プロセッサを 64 ビット モードから 32 ビット モードに切り替えます。ここで、32 ビット アプリケーション スレッドを実行する必要がある場合は常に、プロセッサは32 モード (互換モード) に切り替えられ、その後 64 ビット モードに戻ります。これは、以前のエミュレーション メカニズムよりも比較的高速です。
Win 2003 と Win 2008 でパフォーマンスに違いはありますか?
これは非常に主観的です。使用するハードウェアの種類によって異なります。64 ビット OS とハードウェアを使用している場合でも、ハードウェアの種類、マザーボード CPU などに大きく依存します。64 ビット OS は、アドレス空間などの制限により 32 ビット OS とマシンでは使用できない優れたハードウェアを活用するように設計されています。
Windows 2008 は 64 ビット環境のため、2003 と比較してより多くの CPU を必要としますか?
はい。上記の @EJP のように、提供できるものは他にもあります。より有能な OS には、優れたハードウェアが必要です。特定のアプリケーションが Windows 2008 固有の機能を必要とする場合と必要としない場合があります。それが、なぜ 32 ビットから 64 ビットに移行する必要があるのかについて電話をかける必要がある理由です。同じフォーラムに 同様の投稿があります。
ところで、オプションがあるかどうかはわかりませんが、64ビットのTomcatで(プラットフォーム固有のライブラリを使用していない場合)再構築せずに同じコードを実行できます。