ミューテックスチェック
今回はカーネルミューテックスに関するリソース情報を取得する方法を紹介しようと思います。ユーザがこの情報を使うというか気にする必要はほとんどないとは思います。カーネルデベロッパでも、悩ましいところなのであまり触れたくないところではあるんですけども、ミューテックスは性能に直接関与する部分なので、性能がでない場合にはこういった部分を分析して状況を整理し、改善する方法を考える必要が出てきます。
カーネルミューテックスに関する情報はlockstat(1)コマンドはカーネルのロック情報およびプロファイリング統計情報を取得して表示するためのコマンドです。-Hでミューテックスのホールド時間、-Cでコンテンションに関する情報を取得できます。
lockstat(1)は引数にコマンドを与えることで、そのコマンドに関するロック情報を取得することができます。
オプションを指定すると、こうしたロック情報をさらに欲しい情報に絞り込んで表示させることができます。こんな感じです。
こんな感じでコマンドを指定するだけでロック情報を詳しく取得することができます。DTraceの機能が統合されさまざまなポイントに観測点を設けることができるようになったおかげで、こんな感じに簡単に情報が取得できるようになりました。なんとまぁ素晴らしいことです。
開発者であればこれは垂涎モノの機能なわけですが、ユーザにとっては意味不明かもしれません。ユーザが使うとすれば……たとえば複数の似た処理を行うソフトウェアをこのコマンドで調べて、ロック処理をより効率的に使っているものを選ぶとか、そういった用途に使えるかもしれません。開発者であればこれは開発しているソフトウェアのロック関係の性能を調べるうえでとても役に立ちます。ぜひ一度使ってみてください。
勉強会
第59回 12月21日(水)19:00~FreeBSD勉強会会 (日程変更の可能性あり)
ストレージシステムの基盤として使われることの多いZFS。いったん運用を開始あるとあとはボリュームの管理や、ハードウェアの管理、またはより高速なハードウェアの利用などを行いたくなってきます。第59回のFreeBSD勉強会ではそうした部分にフォーカスしてZFSの扱い方を紹介します。このところ続けているFreeBSD ZFS解説シリーズです。
参加申請はこちらから。