日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
LOCK_PROFILING(9) FreeBSD カーネル開発者マニュアル LOCK_PROFILING(9) 名称 LOCK_PROFILING -- カーネルロックプロファイルのサポート 書式 options LOCK_PROFILING 解説 LOCK_PROFILING カーネルオプションは、ロックの使用と競合の統計を測定して、 報告するサポートを追加します。これらの統計は、``獲得ポイント'' によって照 合されます。獲得ポイントは、ロックが獲得されるところの (ソースファイル名 と行番号で識別される) カーネルソースコードの区別される場所です。 それぞれの獲得ポイントについて、次の統計が累算されます: • 最も長い時間ロックは、現時点で獲得された後ずっと絶え間なく保持されま す。 • 合計時間ロックは、現時点で獲得された後に保持されます。 • スレッドが、ロックを獲得するためにウェート (待ち) に費やされた合計時 間。 • 非再帰的な獲得の合計数。 • 時間ロックの合計数は、スピンまたはスリープを必要とする、この時点に到 達したとき、別のスレッドによって既に保持されています。 • 現時点で獲得された後に保持されている間のロックを獲得するために試みた 別のスレッドの時間の合計数。 さらに、保持時間の平均とウェート時間の平均は、それぞれ合計の保持時間と合 計のウェート時間と獲得の数から導き出されます。 また、LOCK_PROFILING カーネルオプションは、プロファイルコードを制御して、 モニタするために次の sysctl(8) 変数を追加します: debug.lock.prof.enable ロックプロファイルコードを有効にするか、または無効にする。このデ フォルトは 0 (オフ) です。 debug.lock.prof.reset 現在のロックプロファイルバッファをリセットします。 debug.lock.prof.stats 単純なテキストでの実際のプロファイル統計。カラムは、左から右に、 次の通りです: max マイクロ秒単位の最も長い連続した保持時間。 wait_max マイクロ秒単位の最も長い連続したウェート (待ち) 時間。 total マイクロ秒単位の合計の (累積) 保持時間。 wait_total マイクロ秒単位の合計 (累積) ウェート (待ち) 時間。 count 獲得の合計数。 avg 合計保持時間と獲得の数から導き出されたマイクロ秒単位の 保持時間の平均。 wait_avg 合計のウェート時間と獲得の数から導き出されたマイクロ秒 単位のウェート時間の平均。 cnt_hold 時間ロックの数は、保持され、別のスレッドは、ロックを獲 得することを試みました。 cnt_lock 時間ロックのは、この時点に到達したとき、既に保持されて います。 name ソースファイル名と行番号から導き出された獲得ポイントの 名前には、括弧で括られたロックの名前が続きます。 debug.lock.prof.rejected テーブルが満たされた後に無視された獲得ポイントの数。 debug.lock.prof.skipspin スピンロックのためのロックのプロファイイリングのコードを無効にす るかまたは有効にします。これは、デフォルトで 0 (スピンロックのた めにプロファイリングを行う) です。 debug.lock.prof.skipcount およそ N 個のロック獲得のサンプリングを行います。 関連項目 sysctl(8), mutex(9) 歴史 Mutex プロファイルのサポートは FreeBSD 5.0 で登場しました。一般化された ロックプロファイルのサポートは FreeBSD 7.0 で登場しました。 作者 MUTEX_PROFILING のコードは Eivind Eklund <eivind@FreeBSD.org>, Dag-Erling Sm/rgrav <des@FreeBSD.org> と Robert Watson <rwatson@FreeBSD.org> によっ て書かれました。LOCK_PROFILING コードは Kip Macy <kmacy@FreeBSD.org> に よって書かれました。このマニュアルページは Dag-Erling Sm/rgrav <des@FreeBSD.org> によって書かれました。 注 LOCK_PROFILING オプションは、struct lock_object のサイズを増加させるの で、そのオプションで構築されたカーネルは、それなしで構築されたモジュール で動作しません。 また、LOCK_PROFILING オプションは、かなり厳しいパフォーマンスに不利な結果 をもたらすかもしれない、ミューテックスコードのインライン化を防ぎます。し かしながら、これは、いつもそうであるというわけではありません。 LOCK_PROFILING は、他のプロファイルツールを使用して容易にモニタされるかな りの性能のオーバヘッドを招くかもしれないので、プロファイルツールを LOCK_PROFILING と組み合わせることは推薦されません。 測定は、(同期された TSC のないアーキテクチャで) nanotime(9) で使用してナ ノ秒単位で行われ、格納されますが、マイクロ秒単位で提示されます。これは、 (長く保持され、そして/または、しばしば取得される) プロファイルに最も関心 がある 1 つのロックにまだ十分であるべきです。 結果が機能の間の相互作用によって強く影響されるとき、一般的に、他のデバッ グオプションと組み合わせて LOCK_PROFILING を使用するべきではありません、 特に、INVARIANTS が存在しているとき起こる特別のロックのために INVARIANTS で実行されるとき、LOCK_PROFILING は、通常の uma(9) ロックコンテンション (contention) より高く報告します。同様に、WITNESS と組み合わせてそれを使用 することは、出力のプロファイルで、はるかに高いロック保持時間とコンテン ションとなります。 FreeBSD 11.4 March 7, 2012 FreeBSD 11.4