Perfとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Perfの意味・解説 

perf

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/07/23 19:36 UTC 版)

perf ("Perf Events"[1]あるいは"perf tools"。元々は"Performance Counters for Linux"やPCLと呼ばれていた[2])は、Linuxカーネル2.6.31以降で使用可能な、Linux性能解析ツールである[3]

'perf'というユーザースペースの操作ユーティリティーは、Gitのようなサブコマンドを持つインターフェースを採用している。このユーティリティーは、システム全体(カーネル及びユーザーコードの両方)、シングルCPU、あるいは数スレッドの統計プロファイリングが可能である。

また、perfはハードウェアパフォーマンスカウンタ英語版、トレースポイント、ソフトウェアパフォーマンスカウンタ(例: hrtimer)、ダイナミックプローブ(例: kprobesやuprobes)をサポートしている[4]

2012年IBMは(OProfile英語版とともに)perfを、Linuxで使われる最も一般的な二つのパフォーマンスカウンタ英語版プロファイリングツールのうちの一つであると認めた[5]

サブコマンド

perfは以下のようなサブコマンドとともに使用する。

  • stat: 一つのプログラムやある時間でのシステムのトータルイベントカウントを測る
  • top: topライクな最も使用された関数の動的表示
  • record: 一つのプログラムのサンプリングレートを測り保存する[6]
  • report: perf recordによって生成されたファイルを分析(perf recordはフラットやグラフプロファイリングが生成可能)[6]
  • annotate: ソースまたはアセンブリを注解する
  • sched: スケジューラー動作とレイテンシのトレース・測定[7]
  • list: 利用可能なイベントを一覧する

実装

このユーティリティとカーネル間のインターフェースは一つのシステムコールのみからなり、ファイルディスクリプタとmmapされたメモリ領域を通して完了する[8]

oprofileやLTTngとは違い、サービスデーモンは不要であり、大部分の機能はカーネルに統合されている。perfユーティリティは定期的にmmapされたバッファーからディスクへと生データをダンプする。

R. Vitillo(LBNL)は、「perfは低オーバーヘッドのプロファイリングツールである」と述べている[8]

2010年時点で、ハードウェアカウンターのサポートをするアーキテクチャは以下の通りである。x86PowerPC64、UltraSPARC (III及びIV)、ARM(v5、v6、v7、Cortex-A8及び-A9)、Alpha EV56、SH[4]

新しいインテルCPUにおけるLast Branch Recordsとbranch tracingの実装の使用はパッチを適用するで利用できる[8]

perfはRHEL6[9]、Debian Squeeze[10]やその他のポピュラーなLinuxディストリビューションで対応されている。

批評

perfのドキュメントはあまり詳しくなく(2012年時点)、たとえば、大部分のイベントやそれらのエイリアスがドキュメント化されていない。また、perf toolsは、本当のwall-clock時間に基づいたプロファイリングを行えない[11]

Linuxカーネル 2.6.37から3.8.8までおよびRHEL6カーネル 2.6.32のPerfサブシステムは、ローカルユーザーからroot特権へと昇格可能なことが実証されたセキュリティ脆弱性が含まれる(CVE-2013-2094)[12][13]。この問題は、event_idの検証コードパスにおいて、間違った型(64ビットの代わりに32ビットint)を使用したことが原因であった[14]

関連項目

出典

[脚注の使い方]
  1. ^ Vince Weaver, The Unofficial Linux Perf Events Web-Page
  2. ^ Vince Weaver. “Linux perf event Features and Overhead”. 2013 FastPath Workshop. 2013年10月1日閲覧。
  3. ^ Jake Edge, Perfcounters added to the mainline, LWN July 1, 2009, "perfcounters being included into the mainline during the recently completed 2.6.31 merge window"
  4. ^ a b Arnaldo Carvalho de Melo, The New Linux ’perf’ tools, presentation from Linux Kongress, September, 2010
  5. ^ A. Zanella, R. Arnold. Evaluate performance for Linux on POWER. Analyze performance using Linux tools, 12 Jun 2012 // IBM DeveloperWorks Technical library
  6. ^ a b Urs Fässler perf file format, CERN OpenLab英語版, 2011
  7. ^ Ingo Molnar英語版, 'perf sched': Utility to capture, measure and analyze scheduler latencies and behavior, 17 Sep 2009
  8. ^ a b c Roberto A. Vitillo (LBNL). PERFORMANCE TOOLS DEVELOPMENTS, 16 June 2011, presentation from "Future computing in particle physics" conference
  9. ^ 6.4. Performance Counters for Linux (PCL) Tools and perf // RHEL Developer Guide
  10. ^ http://packages.debian.org/squeeze/linux-tools-2.6.32
  11. ^ http://rhaas.blogspot.ru/2012/06/perf-good-bad-ugly.html
  12. ^ Michael Larabel (2013年5月15日). “New Linux Kernel Vulnerability Exploited”. Phoronix. 2013年7月18日閲覧。
  13. ^ corbet (2013年5月15日). “Local root vulnerability in the kernel”. LWN. 2013年7月18日閲覧。
  14. ^ Joe Damato (2013年5月20日). “A closer look at a recent privilege escalation bug in Linux (CVE-2013-2094)”. 2013年7月18日閲覧。

外部リンク


「perf」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Perf」の関連用語

Perfのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Perfのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのperf (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS