Develop and Download Open Source Software

OpenSource Downloads

7-Zip  (4,208)  
HandBrake Japanese Language Version  (3,353)  
CrystalDiskInfo  (1,743)  
CotEditor  (1,120)  
CrystalDiskMark  (866)  
Boookends  (788)  
SMPlayer  (642)  
えこでこツール  (599)  
Tera Term  (595)  
10  FFFTP  (579)  
11  Cabos  (530)  
12  BathyScaphe  (494)  
13  ffdshow  (481)  
14  MergeDoc  (464)  
15  ギコナビ  (438)  
More >>

最近ブックマークされた記事

ハウツー:自分のシステムに最適なカーネルを構築する

2007年08月20日 10:22 Federico-Kereki(2007年8月16日(木)) 1 2 3
 ディスクの性能を最適化する方法についての記事を書いた後、設定を調整することはシステムの高速化のためにできることの一部に過ぎないというコメントを読者からもらった。つまり、ユーザ自身のハードウェアや必要性にもっとも合うようにカーネルのコンパイルを行なえば、さらにシステムを高速化することができるという指摘だ。カーネルのコンパイルは昔ほど敷居の高いことではなくなっている。最近ではカーネルのコンパイルの手順は簡素化されていて、メニュー形式で提示される選択肢の中から選んだ後、いくつかのコマンドを入力するだけでよくなっている。

 ほとんどのディストリビューションでは、誰にでも使えるように最も汎用的なオプションを用いてコンパイルした、いわゆる「フリーサイズ」的なカーネルが提供されている。しかしIntel 386ファミリーのプロセッサではなくAthlon XP CPUを使用している場合や、大容量のRAMや特定のグラフィックスカードを使用しているといった場合には、自分のハードウェア上で最大限の性能を得るように調整してカーネルをコンパイルすることができる。さらにその過程で、不必要なオプションを除外することによってメモリをいくらか解放したり、ブート時間を短縮したり、システムの反応を良くしたりすることができる可能性も非常に高い。

予行演習

 カーネルのコンパイルはそれほど難しくはないとは言え、マシンが機能しなくなって紙を押えるためにしか利用できなくなってしまう可能性は紛れもなく存在する(これは私の経験上、確かだと断言できる)ので用心する必要がある。したがってカーネルのバックアップを用意するようにしよう。そうしておけば、何か重大なミスをしてしまった場合にも、コンピュータを再起動して再びやり直すことができる。今回はopenSUSEを使用して、2種類の異なるバージョンのカーネルをインストールした。openSUSEでは、YAST管理ツールやSmartパッケージマネージャを使用して、複数のカーネルを簡単にインストールすることができる。今回は2.6.18.8-0.3と2.6.18.8-0.5という2つのバージョンのカーネルを使用したので、ブート画面は次のようになった。

openSUSE 10.2 - 2.6.18.8-0.5 Failsafe -- openSUSE 10.2 - 2.6.18.8-0.5 openSUSE 10.2 - 2.6.18.8-0.3 Failsafe -- openSUSE 10.2 - 2.6.18.8-0.3

 私のマシンは、デフォルトでは上記の3番目の選択肢でブートするようになっている。したがって3番目の選択肢はそのままにしておいて(いざというときに使用するため)、最初の選択肢を使って実験することにした。新しく構築したカーネルに満足することができたときには、標準的なツール(openSUSEの場合であればYASTなど)を使用して、新しいカーネルをデフォルトにすることができる。冒険好きな人は、GRUBやLILOの設定ファイルを手動で編集しても良いだろう。

 なお、kernel-source(コンパイルするソースコード)、gcc(コンパイラ)、bzip2(内部的に必要)、ncurses(設定メニュー用)といったようないくつかのパッケージもインストールしておく必要がある。

 カーネルを最適化するためには、手持ちのマシンのハードウェアについて知っておく必要がある。以下のようなコマンドを使用すれば、マシンが使用しているプロセッサの種類やRAMなどについて知ることができるので、この情報を印刷しておいて作業中すぐに参照することができるようにしておくことをお勧めする。

lspci -v cat /proc/cpuinfo cat /proc/meminfo

 準備ができたと思ったら、まずは特にカーネルの設定を変更しないまま、そもそもカーネルの再構築ができる環境が整っているかどうかを確認してみよう。ルートになって、以下のコマンドを入力しよう。

cd /usr/src/linux make clean make make modules_install make install reboot

>makeの実行にはしばらく時間がかかり、また警告がいくつか表示されるかもしれないが、エラーは出ないはずだ。再起動しても何も問題がなければ、カーネルを再構築してシステムを最適化するための準備が整ったということだ(実際にはもう準備だけでなく、すでに最適化の作業を開始しているとも言える)。例えば何らかのパッケージが欠けていたなどの原因によって深刻な問題が実際に起こってしまった場合には、バックアップのカーネルを使用して再起動して問題を修正し、再びこの「予行演習」を試してみれば良いだろう。

最終更新:2007年10月20日 17:07