2017-03-02 9 views
2

私はすべての主要なプロセスを監視したい、そしてそれらをLinuxを使ってどのようにスケジュールするかをRaspberryPiでマルチプロセスシステムを開発しようとしています。それは、スケジューラの状態、開始時刻、リリース時刻などを取得することです。私は '/ proc'フォルダにこのような情報を見つけようとしていますが、今までのところ本当に便利なものは何も見つかりませんでした。例えばLinuxでプロセスがリアルタイムでどのようにスケジュールされているかを監視することはできますか?

あなたは/ procの/ PID /タスクに行けば、/あなたが見ることができるのpid:

se.exec_start 
se.vruntime 
se.sum_exec_runtime 
se.statistics.wait_start 
se.statistics.sleep_start 
se.statistics.block_start 
se.statistics.sleep_max 
se.statistics.block_max 
se.statistics.iowait_sum 
se.statistics.wakeups 

などを。さて、これは私が何かをしているように見えますが、十分にはっきりしていません。 プロセスがコアでどのようにスケジュールされているかを見たいだけです。すなわちProcess1が0.30でリリースされ、Process2が0.70(システムタイマ値)で開始されました。

'/ proc'などのカーネルフォルダを監視することで可能ですか? Linux用の別のトレースツールやスケジューラツールを使用してこれを判断する方法はありますか?

ご指導いただきありがとうございます。 私が提供する必要があるものが他にあるかどうか教えてください。

ありがとうございます。すべてのタスクのためにCPUの完全な一回の反復を行い使用してkernelshark、 enter image description here

私も他のプロセスのために、正確に知りたい、:

EDIT。

答えて

2

プロセスがコアでどのようにスケジュールされているかを見たいだけです。すなわち0.30で解放されたProcess1、次いで0.70(システムタイマ値)で開始されたProcess2などである。

これはトレースと呼ばれ、通常はユーザからの要求の後にカーネルで行われる。 Linuxにはいくつかのカーネルイベントトレーサーがあります。 man

  • trace-cmdhttp://www.brendangregg.com/perf.htmlから)
  • perf record -e 'sched:sched_process_*' -a sleep 2 + perf scriptのように、トレースするためのいくつかの他のPERFコマンドをログ取得するために、その後perf sched record sleep 2perf sched scriptを使用します。

    グレッグは、と(トレーシングのLinuxのいくつかの情報を持っています」ポニートウモロコシのマスコット "マジック):http://www.brendangregg.com/blog/2015-07-08/choosing-a-linux-tracer.html(トレースについてのいくつかのプレゼンテーションがhttps://www.slideshare.net/brendangreggにあるはずです)...

    /procにはinotify(それは内部には、実際のディレクトリまたは実際のファイルがありません:https://stackoverflow.com/a/24898733)にはありません、このような「/ procの」

    としてカーネルフォルダを監視することで可能にこのようなものです、あなたができるので、変更を監視すると、/ proc(またはいくつかの/ sys)を定期的にしか読み直すことができません。

  • +0

    hmm返信が遅れました。私は今日これを試し、あなたに知らせるでしょう。 – mozcelikors

    +0

    @mozcelikorsでは、アプリケーションから自動的にスケジューリングを監視したいのですか、手動モードで何度かスケジューリングを調べるためのツールが必要ですか? – osgx

    +0

    私のための調査の仕事。あなたの提案は、私が正確に望むもののように思える。私の懸念事項について聞かせてください:perf sched mapが実際に詳細を視覚化するのを助けますが、これらのプロセスのリリース、開始、終了時刻を得ることができますか(並列コンピューティング用語で)また、何回か調査する必要がありますか?私は1つの象徴的表現がプロセスの考えを与えるべきであると仮定したいと思う。 – mozcelikors

    関連する問題