SMP (Symmetric Multi Processor)

CPU を2つ以上積んだマザーボードを持つマシンの場合、 カーネルに2つのCPUを認識させなければなりません。 標準では認識されないことになっているので、 カーネル再構築を行います。


カーネルコンフィギュレーションファイルの編集

machine "i386"
#cpu "I386_CPU"
#cpu "I486_CPU"
cpu "I586_CPU"
....
# To make an SMP kernel, the next two are needed
options SMP # Symmetric MultiProcessor Kernel
options APIC_IO # Symmetric (APIC) I/O

赤く書いたように変更し、 カーネルをコンパイル、インストールして リブートします。

SMP 起動の確認

ブート時に次のような文字が出れば SMP 起動に成功しました。
SMP: AP CPU #1 Launched !
起動しちゃってから確認するには、/sbin/dmesg を使います。 dmesg は起動時に流れる情報を表示させるコマンドです。
% /sbin/dmesg | grep 'SMP'
SMP: AP CPU #1 Launched !

トラブルシューティング

どうも、SMP は APM (Advanced Power Management) と相性が よろしくない様です。PAO3 を入れて SMP を活性化すると、 リブートを無限に繰り返そうとします。この問題に関しては、 FreeBSD-users-jp [50131] に詳しいバグ報告がなされており、 [bsd-nomads:12608] に解決法があります。 Q and A 形式 にもまとめて頂いています。

手っ取り早い解決法は、PAO3 を入れない なよう です。


FreeBSD の部屋


Apr. 1, 2000