使用可能なRAMをすべて使用する

Q:すべてのメモリを使うには?

 私のコンピュータは128MBのRAMを実装していますが、RAMが全部使われているかどうかわかりません。どうすれば確かめることができますか。Linuxが全メモリを認識していないとするなら、それを認識させる方法はありますか。

A:カーネルにすべてのRAMを使わせる

 通常、LinuxカーネルはシステムのすべてのRAMを認識します。しかし、状況によってはメモリが一部認識されないことがあります。

 Linuxカーネルにコンピュータのメモリをすべて使わせるにはいくつか方法があります。まず、RAMがすべて使われているかテストします。全部使われていない場合、起動時に毎回boot:プロンプトでオプションを入力する方法と、/etc/lilo.confを編集する方法があります。/etc/lilo.confを編集すれば起動時に毎回オプションを指定しなくてすみます。

 Linuxカーネルがコンピュータの全RAMを認識しているか確かめるには、シェルプロンプトでcat /proc/meminfoと入力してシステムの現在のメモリ使用状況を調べます。これで次のような出力が得られます。

 
 
total: used: free: shared: buffers: cached: 
Mem: 64655360 63033344 1622016 51159040 1552384 33816576 
Swap: 73990144 700416 73289728 
MemTotal: 63140 kB 
MemFree: 1584 kB 
MemShared: 49960 kB 
Buffers: 1516 kB 
Cached: 33024 kB 
SwapTotal: 72256 kB 
SwapFree: 71572 kB  

 表示カテゴリの1つにLinuxカーネルが認識している総メモリ量(Mem:フィールド)があります。たとえば、実装メモリが128MBで、Mem:の値が64MBなら、カーネルにシステムのすべてのRAMを使うよう指示する必要があります。

 LILOのboot:プロンプトでカーネルに指示を出すことができます。システムを再起動します(Xに直接入るように設定されている場合はプロンプトに対してCtrl-xキーを押す必要がある)。boot:プロンプトで、システムに認識させるメモリ量を入力します。

 
boot: linux mem=128M 

 Enterキーを押すと、新しいメモリオプションで起動されます。起動時に毎回オプションを入力したくなければ、/etc/lilo.confにオプションを入力する方法もあります。

 suでrootに切り替え、Picoなどの適当なテキストエディタで/etc/lilo.confを編集します。/etc/lilo.confの内容は次のとおりです。

 
 
boot=/dev/hda 
map=/boot/map 
install=/boot/boot.b 
prompt 
timeout=50 
image=/boot/vmlinuz-2.2.5-15 
label=linux 
root=/dev/hda1 
read-only  

 append="mem=128M"を最初の行として追加します。追加後の内容は次のとおりです。

 
 
append="mem=128M" 
boot=/dev/hda 
map=/boot/map 
install=/boot/boot.b 
prompt 
timeout=50 
image=/boot/vmlinuz-2.2.5-15 
label=linux 
root=/dev/hda1 
read-only  

 Ctrl-xでファイルから抜けます。

 ファイルを保存するかどうか尋ねられます。保存する場合はYキーを、保存しない場合はNキーを押します。また、操作をキャンセルするにはCtrl-Cキーを押します。

 プロンプトで/sbin/lilo と入力してLILOを再開します。rootアカウントから出るにはexitと入力します。

 再起動するとメモリの設定がカーネルに渡されます。