Tarantella 資料一覧

Linux版Tarantellaの処理が非常に遅い(搭載メモリは256MB)

2007/10/5更新

対応バージョン: E3-3.2

Tarantellaサーバに必要なメモリは最低128MBであるが、Linuxシステムが64MB以上のメモリを正しく認識していない場合がある。

この場合には物理メモリが256MB搭載されていてもLinuxカーネルは64MBとして動作する。

これは以下の方法で確認できる。

BIOSが搭載された物理メモリを正しく認識しているか?

ハードウェアの起動時にBIOSが搭載メモリ容量を表示するはずであるが、そのときの値が正しいか確認する。

もし異なる場合にはBIOSの設定等を確認して正しい値が表示されるようにする。

Linuxカーネルが搭載された物理メモリを正しく認識しているか?

コマンドラインからtopコマンドを実行すると現在カーネルが認識している物理メモリが次のように表示される。

:
Mem:   126924k total, 107292k used,   19632k free,  7184K buffers
Swap: 1212868k total,   5592k used, 1207276k free, 76840k cached
:

この例ではメモリが128MBとして認識されている。

もしこの値が実際に搭載した値よりも小さい場合にはカーネルに対して明示的にメモリ量を教える必要がある。

これには2つの方法がある。

以下は物理メモリを256Mに指定する場合の例である。

システム起動時に設定する

システム起動時にブートプロンプトが表示されるはずであるが、そこでパラメータを指定する。

たとえばTurboLinux6.0Jの場合には以下のように指定する。

boot: linux mem=256M

この後リターンキーを入力するとシステムが起動する。

OSの不具合によりカーネルパニックを起こす事があるが、その場合には物理メモリよりも少し少ない値(例ではmem=250Mなど)と指定すれば正しく動作するはずである。

固定値を設定する

起動時のパラメータは/etc/lilo.confファイルにて指定できる。

上と同様にメモリを256MBに指定するときには以下のように"append="行を1行追加する。

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=linux

image=/boot/vmlinuz-2.2.12-32
label=linux
initrd=/boot/initrd-2.2.12-32.img
read-only
root=/dev/hda8
append="mem=256M"

lilo.confファイルを修正後、root権限で/sbin/liloを実行すると次回の再起動からこの設定が反映される。

注意点

通常UNIXのswap領域は物理メモリ以上のサイズを用意するが、Linuxのカーネルが2.2.x+以前ではswap領域の最大値は128MBである。

物理メモリが128MB以上でもswapをこれ以上大きくできないので128MBのまま使用する。

2.2.x+以降ではi886マシンの場合2GBまで指定可能である。