私は、特定のスレッドがCPU上で実行されているかどうかを検出する方法を見つけようとしています。理想的には、自分のスレッドがいつスケジュールされるか、いつ実行されるか、コンテキストスイッチによって中断されたかを追跡するために、カーネルに直接接続したいと思っています。この情報を正確に報告できる棚用ツールはありますか?Linuxスケジューラで長い待機時間を検出する
1
A
答えて
2
'perf sched'ユーティリティが必要な場合や、古いカーネルの場合は 'ftrace'が必要です。 'schedのPERF'
は、現在5つのサブコマンドがありますschedのPERF
{|待ち時間|レコード地図|再生|スクリプト}
- レコード - 任意のワークロードの低オーバーヘッド記録
- 待ち時間 - タスクごとの出力待ち時間メトリック
- マップ - コンテキスト切り替えの概要/マップを表示
- 再生 - シミュレートされたスレッドを使用してキャプチャされた作業負荷を再生
- スクリプト -
http://lwn.net/Articles/353295/
man perf-sched
0
私はOProfileを使用します。
これは、システムパフォーマンスを調べるのに最も簡単な方法であり、必要なものには十分に適しています。他にスーパーカスタムが必要な場合は、関心のあるイベントのスケジューリング中にGPIOをトグルするカスタムカーネルを構築し、ロジックアナライザで信号を調べるようなことになるかもしれません。私はあなたの時間の価値がないので、そのアプローチをお勧めしません。
関連する問題
- 1. NSOperation waitUntilFinishedが長時間待機する
- 2. WSO2 BPS待機アクティビティが構成されている待機時間より長く待ちます
- 3. Linuxネットワークアプリケーションの待ち時間が高い
- 4. TouchableWithoutFeedbackの長時間のリリースの検出
- 5. 長い実行時間のlinux
- 6. セレンスクリプトは、明示的な待ち時間で定義された時間だけ長く待機しません。
- 7. AirPlayの待ち時間を検出する
- 8. iOS:ビーコンの検出に長時間を要する
- 9. MS Accessを特定の時間(VBA)で長時間待つ/トリガーする
- 10. FirebugがPOSTリクエストに長い待ち時間を表示する
- 11. ミューテックスロック待機時間とウォッチドッグ
- 12. Pythonソケットクライアントの待機時間
- 13. WordPressのWebサイトで長時間待っています
- 14. Redshift:検出とキャンセルユーザーごとに長時間実行するクエリ
- 15. Qtで長時間稼動している間は「お待ちください」?
- 16. ReverseProxyの待機時間を増やす
- 17. Drupalブロックの時間スケジューラ
- 18. Oracleスケジューラのインターバル時間
- 19. setTimeoutの待機時間をスキップ
- 20. bashの並列プロセス間に待機時間を追加する
- 21. 他のスレッドがロックを保持していなくても、同期オブジェクトで長時間待機する
- 22. 待ち時間の長い(?)ユーザのための長いPHP実行
- 23. JMeterの応答時間をJMeterの検索、待機、転送時間に分割する
- 24. Javaのマルチスレッドでサービス時間の待機時間を見つける方法
- 25. Hibernateエラーの待ち時間が長すぎる
- 26. RxJSによるイベント間の長い間隔の検出
- 27. 待機時間は長いですがSSDディスクの%utilはそれ以下です
- 28. スパイダーごとのランダムな待機時間
- 29. 複数のカピバラ待機時間?
- 30. 長いクエリ時間
を記録したワークロードの詳細なトレースを参照するには、また、カーネルのスケジューリングコードに追加ロジックを追加すると、それが呼ばれ、特に以来結果を歪曲する可能性がありますたくさん :) –