12月版 カーネルコンフィグの方法が変わる!?
上川純一
日本ヒューレット・パッカード株式会社
コンサルティング・インテグレーション統括本部
2005/12/27
linux-kernelメーリングリスト(以下LKML)かいわいで起きるイベントを毎月お伝えする、Linux Kernel Watch。11月のLinuxカーネル関連の状況について、見てみましょう。
Linuxカーネルでoopsの出力を取得する方法
Folkert van Heusdenが、「カーネルがクラッシュしたときに出力されるoops文字列をどうやって取得しているのか」という質問をLKMLに投げていました。それに対して、さまざまな回答が寄せられました。
- シリアルポートを使う
シリアルポートをコンソールとして接続していれば、別のマシンからシリアルコンソール経由でoopsの文字列を取得できます。
- 鉛筆を使う
画面に表示されている文字を見てメモを取るという方法は、面倒ではありますが実現可能です。
- デジタルカメラを使う
画面を写真に撮る方法も可能です。しかしながら、oopsの処理には画面上に出力された数字などが必要なため、デジタルカメラの画像データをテキストデータに変換する必要があります。そこでOCRなどが利用できないものだろうか、という話題が盛り上がりました。
- NetConsoleを使う
NetConsoleを使うと、シリアルポートのような利用方法ができるという意見が出ました。別のスレッドで、Michael Frankがこの例を示して説明しました。netconsoleを利用する場合、以下のカーネルオプションを付けてカーネルを起動します。
netconsole=1...@192.168.2.131/eth0,4...
@192.168.2.1/00:00:0E:5F:15:64
syslog-ngで利用する場合は、以下のような設定を行います。
source netlog {
udp(ip(0.0.0.0) port(4450));
};
destination netlog
{
file("/var/log/netlog");
};
log
a{
source(netlog);
destination("netlog");
flags(final);
};
- kdumpを使う
kdumpのカーネルダンプ機能を活用すればよいだろうという意見もありました。panicのメッセージを記録するという目的だけのためにkdumpを使うのは大げさですが、ここまでできれば理想的です。
- kmsgdumpを使う
メッセージダンプのために利用できる機能拡張が以前提案されていました。これを利用すると、Sysrq+[D]キーを押したりカーネルがパニックした際、フロッピーディスクにメッセージを記録することができます。
kmsgdumpが起動されると、Windowsで利用されているような青い画面になり、CPUがリアルモードに切り替わってフロッピーディスクに書き込みを実施します。カーネル2.4系列の開発中からずっと存在しているパッチですが、残念ながら本流にはマージされていないようです。
参考(カーネルソース内): | ||
kdump | カーネルソース内のDocumentation/kdump/kdump.txt | |
kmsgdump | http://w.ods.org/tools/kmsgdump/ http://www.xenotime.net/linux/kmsgdump/ |
ディスク先読み機は改善の余地あり?
Wu Fengguangは、「Adaptive read-ahead V7」「Adaptive read-ahead V8」と題したメールでディスク先読み機能の改善を提案しました。LinuxのディスクI/O発生時の先読み機能であるread-aheadの設定「VM_MAX_READAHEAD」は、現在「128」(kbytes)という既定値になっています。この値が毎回利用されるため、メモリが少ない状況ではメモリが浪費され、メモリがたくさんある場合でも先読みには活用されない、という状況が生まれています。
Wu Fengguangの提案とは別に、GNOMEの起動処理についてアプリケーションのプロファイリングを行い、ディスクの先読みを利用して起動時間を改善しようという試みがありました。このためにIOLOGというツールを開発し、ディスクのどの領域をアクセスしたのかという履歴を解析して、ディスクのアクセスパターンからどのようにアプリケーションを改善したらよいのかを検討した結果が発表されました。この結果はカーネルハッカーたちに良い刺激を与えたようです。
参考(カーネルソース内): | ||
GNOMEについて詳細に分析したレポート | http://www.gnome.org/~lcolitti/gnome-startup/analysis/ | |
linux-iologツール | http://cvs.gnome.org/viewcvs/gnome-startup-profiling/linux-iolog/ |
SATAハードディスクをスリープさせたい
「1日1回のバックアップ用にしか利用していないため、通常時は停止させて電力消費を節約したい。そのためにSATA接続のハードディスクを停止させる方法が知りたい」
Marc Perkelの質問がLKMLに投げられました。それに対して、「SATAのpassthroughモードを利用するhdparm -Sを使えば、一定の期間以上アイドルが続くとそのドライブをスリープさせることができる」という回答がありました。
James Courtier-Duttonによると、ハードディスクを本当に停止させるにはhdparm -Yが必要なのだそうです。しかし、現状では停止はできるが復活できないため、hdparm -Yを使うのは危険であり、今後の開発が必要であると説明していました。
1/2
|
|
||||
|
連載 Linux Kernel Watch |
Linux Squareフォーラム Linuxカーネル関連記事 |
連載:Linux Kernel Watch(連載中) Linuxカーネル開発の現場ではさまざまな提案や議論が交わされています。その中からいくつかのトピックをピックアップしてお伝えします |
|
連載:Linuxファイルシステム技術解説 ファイルシステムにはそれぞれ特性がある。本連載では、基礎技術から各ファイルシステムの特徴、パフォーマンスを検証する |
|
特集:全貌を現したLinuxカーネル2.6[第1章] エンタープライズ向けに刷新されたカーネル・コア ついに全貌が明らかになったカーネル2.6。6月に正式リリースされる予定の次期安定版カーネルの改良点や新機能を詳しく解説する |
|
特集:/procによるLinuxチューニング[前編] /procで理解するOSの状態 Linuxの状態確認や挙動の変更で重要なのが/procファイルシステムである。/procの概念や/procを利用したOSの状態確認方法を解説する |
|
特集:仮想OS「User
Mode Linux」活用法 Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説 |
|
Linuxのカーネルメンテナは柔軟なシステム カーネルメンテナが語るコミュニティとIA-64 Linux IA-64 LinuxのカーネルメンテナであるBjorn Helgaas氏。同氏にLinuxカーネルの開発体制などについて伺った |
|
|
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|