twitter icon   twitter icon   rss icon

Linux.com Japan

Home 特集 LinuxCon Japan 2013特集

 

 

LinuxCon Japan 2013 Preview

第4回 Linuxイベントトレース最前線

2013年5月17日

 

性能問題分析や障害解析に役立つのがトレースツールです。Linux向けにはこれまでにSystemTap,LTTngなどさまざまなものが開発されてきました。そのうちの1つであるftraceは,Linuxカーネルが標準でサポートする,低負荷で手軽に使えるトレース機能です。元々はSteven Rostedt氏らがRTカーネルの性能解析向けに開発したものですが,カーネル2.6.27に採用されて以後,2.6.30ではイベントトレース機能やバイナリ出力機能をサポート,その後もさまざまな改善・拡張が続けられてきました。そしてここ最近,大幅な機能拡張が行われていますので,今回はその新機能について紹介します。また,仮想化環境向けのトレース強化も行われていますので,こちらも併せて紹介します。

ftrace最新動向

スナップショット

ftraceの利用方法の1つとして,フライトレコーダとして使うことがあります。トレースを常時メモリ上のリングバッファに記録し続け,もしカーネルがクラッシュしたらクラッシュダンプの中からトレースデータを回収するのです。回収したトレースデータにはクラッシュ直前の動作履歴が残っているわけですから,カーネルクラッシュに至る原因を追究するのに非常に役立ちます。

カーネルが継続動作できない障害が発生した場合はトレースも自動的に止まるので,リングバッファから障害の起きた時点のトレースデータを回収できます。しかしカーネルが継続動作できる障害,たとえば性能低下やアプリケーションのエラーの場合はどうでしょうか? トレース機能は新しいデータをリングバッファに書くとき,古いデータから順に上書きしていきます。そのためトレースデータの回収が遅れると,問題発生時の情報が上書きされてなくなってしまうのです。

だったら問題発生時にトレースを一時停止すれば良いじゃないか,と思うでしょう。しかしそうすると今度は,一時停止している間に別の重大障害が発生した場合,その直前のトレース情報が取れなくなり,障害原因の追究が難しくなります。

この問題を解決する機能として,ftraceのスナップショット機能がHiraku Toyooka氏により提案されました。スナップショット機能を使うと,トレースを止めることなく,ある瞬間のリングバッファの内容を回収することができます。幸いにもftraceにはレイテンシトレース用の機能として,現在使用中のバッファと予備のバッファをスワップする仕組みが備わっているので,それをユーザ空間からdebugfs経由で使えるようにするだけで実現できました。こちらの機能はすでにLinusツリーにマージされており,カーネル3.9から利用可能になる見込みです。

スナップショットを取得するには,以下の例のように”snapshot”ファイルに”1”を書き込むだけで済みます。取得したスナップショットは通常のトレースデータと同様にcatコマンドで見ることができます。

 

続きをGihyo.jpで読む

 

 

著者プロフィール

豊岡拓(とよおかひらく)

株式会社日立製作所 横浜研究所 Linux Technology Center所属。サーバや組み込み等のリアルタイムシステムや仮想化システムの研究開発に従事。Linuxカーネルでは,トレース機能(ftrace)の強化などで貢献している。


湯前慶大(ゆのまえよしひろ)

株式会社日立製作所 横浜研究所 Linux Technology Center所属。Linuxカーネルのトレース機能を開発・改造し,ミッションクリティカルなシステムの高信頼化・高品質化の研究開発に従事。


塚田英一(つかたえいいち)

株式会社日立製作所 横浜研究所 Linux Technology Center所属。仮想化環境(Qemu/KVM)でのリアルタイム性および信頼性向上の研究開発に従事。


河合英宏(かわいひでひろ)

株式会社日立製作所 横浜研究所 Linux Technology Center所属。クラッシュダンプツールLTDやトレース機能の開発など,主にRAS機能強化に関する研究開発に従事。過去にはExt3ファイルシステムの信頼性強化なども行っている。

 

30人のカーネル開発者

人気コンテンツ

  1. Today's Linux 2018/01/10 2018年 1月 09日
  2. Today's Linux 2018/01/12 2018年 1月 11日
  3. Today's Linux 2018/01/15 2018年 1月 14日
  4. Today's Linux 2018/01/16 2018年 1月 15日
  5. Today's Linux 2018/01/17 2018年 1月 16日

Linux Foundationについて

Linux Foundation はLinux の普及,保護,標準化を進めるためにオープンソース コミュニティに資源とサービスを提供しています

 

The Linux Foundation Japan

サイトマップ

問い合わせ先

サイトに関するお問い合わせはこちらまで

Linux Foundation Japan

Linux Foundation

Linux Training

提案、要望

Linux.com JAPANでは広く皆様の提案、要望、投稿を受け付ける予定です。

乞うご期待!