私のコンピュータは128MBのRAMを実装していますが、RAMが全部使われているかどうかわかりません。どうすれば確かめることができますか。Linuxが全メモリを認識していないとするなら、それを認識させる方法はありますか。
通常、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と入力します。
再起動するとメモリの設定がカーネルに渡されます。