日経Linux2011.01.24コピーしましたPR「トレーサ」と呼ばれるデバッグツールの1種。このツールを使ってカーネル内部の各種処理を追跡することで、システムトラブルの原因を詳細に解析できる。複雑なシステムトラブルが発生した際、Linuxカーネルが何をしていたかをソースコードレベルで確認しなければ、原因を特定できないことがある。カーネルコードを読みながら、自力で問題の箇所を探し出すのはかなりの重労働だ。そこで活躍するのが「トレース」という手法である。トレースは、アプリケーションやカーネルの実行経路(ライブラリや関数を呼ぶ経路)の途上でさまざまな情報を記録することだ。この情報によって、実際の実行経路のどの個所で問題が生じているのか把握できる。このトレースを行うツールがトレーサである。その中でもsystemtapは、カーネル内の各種処理を追跡するタイプのトレーサとして良く使われている。独自形式のスクリプトを使い、プログラムのコードを改変することなく、その処理を調査できる。具体的にはsystemtapのスクリプト内で、カーネルとユーザーアプリケーションの両方に対し「測定ポイント(プローブ)をどこに仕掛けるか」を指定する。スクリプト中には、「プログラムの処理がプローブを通過する際にどのような処理をさせるか」というロジック(プローブハンドラ)も記述しておく。解析時には対象となるカーネルを対象にスクリプトを実行する。これにより、例えば(1)特定のカーネルメッセージが出る箇所にプローブを仕掛ける、(2)プローブ通過時には、その直前までに呼び出された関数の名前や順序などを示す「バックトレース」を標準出力に出力させる、(3)バックトレースを元にトラブルの原因を探っていく、といった使い方ができる。現場の負担軽減を!医療界でのAWS活用法500万社が導入。情報銀行の成り立ち、事例、現状課題やその行方を網羅。経営戦略である以上、「会計」の知識やスキルが欠かせません。