Dec 24, 2006

AMD Athlon 64 X2 5000+でちと遊ぶ。

年の瀬なのだが、パソコン工房に注文していたAMD Athlon 64 X2 5000+ PCが木曜日に届いたので暇を見つけていじっている。

Athlon64X2が更にパワーアップ!! パソコン工房BTO PC

↑をベースにメモリーを4GBに増設、大容量電源に換装した以外は標準構成のまま。

XenExpressで遊ぶ

まずは、XenSourceが最近公開したXenEnterpriseの無償版XenExpressを試してみた。Pacifica/SVM付きのAthlon 64 X2なので、Para-virtualizationとFull-virtualization (HVM)の両方が使えるはずなのでやってみた。配布されているインストールイメージを使ってまっさらなマシンにインストールするだけで、Xen 3.03のVMM + Dom0 Kernelが起動した状態まで一気にセットアップしてくれるという代物だ。あとは適当なコンソールマシンにAdministrator ConsoleをインストールしておけばXenマシンをリモートからモニター&コントロールできる。Administrator Consoleはなかなかイカス!モニタリングできるだけでもVMware Serverに比べて嬉しい。

Windows Server 2003用かWindows XP SP2用のXGT (XenSource Guest Template)を使えば、XenのFull-virtualizationを使ってCentOSでもFedora Core 6(以降、FC6)でも何でもインストールできる。ちょうどVMware Serverと大差ない手順になる。ただし、XenSource XenExpressではHVMをサスペンドすることができないようになっている(Xen 3.03に共通なのかもしれないがよく分からない)。試しにコマンドラインからxm saveしてみたらxm restoreできなくなってしまった…。

追求してみても良かったのだが、そもそもXenExpressはi386用のものしか提供されていないので、Athlon 64 X2的には無意義なのである。なぜならi386用のXen VMM上ではPara-でもFull-でも32bit OSのGuest OSしか動作できないようになっているようだからだ。この点、VMwareではHost OSがi386 OS、x86_64 OSのどちらであっても、Guest OSとして32bit OSと64bit OSの両方が(同時に)動かせるはずである。

お金を出しても買えないメインメモリ

冒頭のパソコン工房のページには以下のような記載がある。

DDR2規格で最大搭載可能4GBデュアルチャンネルメモリに対応

従来のDDRをさらに高速化したDDR2規格のメモリーを搭載。(中略)メモリー4GB搭載時にはマザーボードの仕様により、使用可能容量は3.2GB~3.5GBとなります。(グラフィックカードのご選択によって上下いたします)

だが、釈然としない。ASUSのM2N-SLI Deluxeのスペックページ(ASUSTeK Computer Inc.)を見ると8GBまで積めると書いてある(実際には2GB DDR2はコストパフォーマンスが悪すぎるが)。使用可能容量が3.2GB~3.5GBとなるのはi386 OSを使ったときに限られるのではないのか、と。そういう半端な話は許さんぞ、と。

…試してみる。

まず、FC6 (i386)でfree -m。

             total       used       free     shared    buffers     cached
Mem:          3545        181       3363          0         14        131
-/+ buffers/cache:         35       3509
Swap:         1983          0       1983

確かに3.5GBしか認識していない。パソコン工房の言うとおりだね。次にFC6 (x86_64)でfree -m。

             total       used       free     shared    buffers     cached
Mem:          3947        338       3609          0         30        233
-/+ buffers/cache:         74       3873
Swap:         1983          0       1983

402MBほど増えた、やっぱりね。ちなみにFC6 (i386)でkernel-xenを使い、そのDomain-0に全メモリーを割り当てた場合は以下の通り。

             total       used       free     shared    buffers     cached
Mem:          3920        939       2980          0        176        557
-/+ buffers/cache:        206       3714
Swap:         1983          0       1983

なぜ4GB使えてしまうのかはよく分からないが、こう表示される。x86_64の場合より小さいのはXen VMMが使っている分のメモリがあるからだろう。

…というわけで「お金を出しても買えないメインメモリ」を手に入れるには、迷わずx86_64環境を選択しなくてはならない。

FC6 (x86_64)にVMware Serverをインストールする

配布されているVMware ServerのRPMが、VMware-server-1.0.1-29996.i386.rpmしかないのでx86_64環境でちゃんと動作するのかどうかが少し心配だった。

結論から言えば何の問題もなかった。一部のx86_64 Linux Distributionでは嵌っている記事を割と見かけるが、少なくともFC6でもCentOS 4.4では何の問題も発生せず。拍子抜け。もちろん、VMware Server自体はi386 userlandで動作するのでVMの使用するメモリに関しては4GBないし3.5GBの制限がある。だが、用途として単体のVMに3.5GB以上のメモリを割り当てることはまずないので、この制限自体は問題とならない。

vmware-config.plに失敗するたびに/etc/vmware/locationsがどんどん長くなっていくのははなはだ不快なので、実行する前に↓くらいはやっておくのが常識。

# yum -y install xinetd
# touch /usr/src/kernels/2.6.18-1.????.fc6-x86_64/include/linux/config.h

おまけ

CentOS 4.4にするかFC6にするかはちょっと悩むところ。CentOSのstableさは魅力だが、(たまにとは言え)Xen遊びをするならRHEL5/CentOS5がリリースされるまではFC6にせざるを得ない。

AMD64上のVMwareで、2つ以上のCPUを有するVMを作ると、時計が狂いまくる問題はどうなったのか。
→勘違い。Athlon 64 X2でDual CPU VMを動作させることはできるがエミュレーション動作になる。実際にはSingle CPUしかないのでTSCがちゃんとカウントアップされないために時刻が大幅に遅れるようだ。これでは使い物にならないのでSingle CPU VMで動作させるのが正しい。

About Me

My Photo

つくばで働く研究者LV15

Total Pageviews

Amazon

Copyright 2012 Ogawa::Buzz | Powered by Blogger
Design by Web2feel | Blogger Template by NewBloggerThemes.com