私は内部プロファイラのいくつかのフォームを実装しています。どのくらいの期間スレッドがコンテキストを切り替えるかを知る方法はありますか?私はウィンドウが知っているイベントは、APIをトレースしていると私はどのくらい多くのコンテキストスイッチが発生するperfログを知っている。それはLinux上で行う方法はありますか? root権限を必要とすることは、内部ツールになるため問題にはなりません。Linuxはコンテキストスイッチタイミングを取得します
0
A
答えて
2
並べ替え
getrusage()
機能については、http://man7.org/linux/man-pages/man2/getrusage.2.htmlを参照してください。
返される構造には、任意のコンテキストスイッチ番号と非自発的なコンテキストスイッチ番号があります。また、ユーザーとシステムの時間があります。他のAPIはウォールクロック時間を返します。
ユーザとシステムの時間よりも大きい壁時計の時間は、あなたが走っていない時間です。
これ以外にも、おそらくカーネルのftrace機能を使用できます。さらに多くのオプションについてはhttps://www.kernel.org/doc/Documentation/trace/ftrace.txt
をご覧ください。http://www.brendangregg.com/blog/2015-07-08/choosing-a-linux-tracer.htmlをご覧ください。
+0
ありがとうございます。私はこれについてしばらくの間グーグルで行っていた。私はそれをするための何らかの方法がなければならないことを知っていました。 – Temp4890
関連する問題
- 1. linuxでローカルコードページを取得するには?
- 2. システムコールIDを取得して.txtファイル(LINUX)に保存します
- 3. C++はLinuxのソースファイルディレクトリを取得
- 4. CのLinuxスクリプトはファイルを取得
- 5. windows/linuxのプロセスの開始時刻を取得しますか?
- 6. LinuxのNIC /イーサネットカードリンクステータスのイベントを取得します
- 7. MACアドレスを取得するLinux(Ubuntu)
- 8. LinuxでマルチキャストソースIPアドレスを取得する
- 9. Linuxでスピンロックを取得する
- 10. LinuxでボリュームUUIDを取得する
- 11. ソケットピアを取得するIPS linux
- 12. linuxからネイバーテーブルを取得する
- 13. Linux C!eofイベントの取得方法は?
- 14. クライアントIPを取得するためのLinuxプログラミングは常に0.03.0を取得
- 15. tcp/ipスタックはどのようにLinuxのnet_deviceインターフェースを取得しますか
- 16. PHPはLinuxサーバでコアごとにCPU使用率を取得します
- 17. PDFは、私は、エラーの下に取得しています、Linuxの
- 18. Linuxでスクリーンベンダーとシリアル番号を取得
- 19. MacとLinuxマシンからローカルユーザーを取得
- 20. ウェブページでライブLinuxサーバログを取得
- 21. jQuery Linuxサーバ時間を取得
- 22. CでLinuxのCPU数を取得
- 23. カーネルlinuxのpidからフルプロセスパスを取得
- 24. Pythonでプロセスを開始し、PIDを取得する(Linux)
- 25. Linux:セグメンテーションフォルトを処理してコアダンプを取得する
- 26. MailHogをLinuxのバーチャルボックスにインストールしてメールを取得する
- 27. URLはファイルを取得してページを取得します
- 28. Linuxでパラレルポートプリンタの状態を取得するには?
- 29. node.jsがLinuxのリリース版を取得する方法は?
- 30. CでLinuxのFlash ROMのサイズを取得するには?
プロファイリングの*目的*が遅い理由を見つけることであると仮定したり、それと同等の方法でスピードを上げたりする場合、このようなタイミングは良い方法ではありません。むしろ、[状態をサンプリングする](http://stackoverflow.com/a/378024/23771)がうまく機能します。サンプルの小数部Xに現れるものは、それをどのように記述していても、それほど時間がかかりません。それを避けることができれば、対応する部分を保存します。タイミングの問題は、避けることができることを伝えることはずっと間接的です。 –
フレームストールが自分のコードによって引き起こされていないという事実を知ることができれば便利です。私のコード内に問題がないときに、問題を探して時間を節約します。フレームごとのデータが必要なので、その特定のインスタンスを分離することができます。サンプルが見つからないものはそれほど素晴らしいものではありません。 – Temp4890