毎秒特定のプロセスのリソース使用量を見つけるために/ procを使用します。リソースには、cputime、ディスク使用量、ネットワーク使用量が含まれます。私は/ proc/pid/statを見ましたが、必要な詳細が得られているかどうかはわかりません。私は3つすべてのリソースの使用を欲し、私は毎秒それらを監視したい。Linuxのプロセスリソース使用量を取得する(CPU、ディスク、ネットワーク)
答えて
プロセスごとにディスクとネットワーク情報を取得する方法はないと思ってください。
グローバルディスクとネットワーク、およびプロセスごとのCPU時間が最適です。
すべては、いくつかの新しいカーネルが/proc/<pid_of_process>/io
ファイルを持っているman proc
に記載します。これはIOの統計情報です。 これはman procには書かれていませんが、自分で数字を調べることができます。
希望します。アレックス 。
私はcentos 5.6を使用しています。かなり古いカーネルです。私はそこにioの統計情報を見つけることはできません! – sethu
getrusage()
は私がネットワークのことは知らないが、CPU、メモリ、ディスクなど
man 2 getrusage
を達成します。
このような問題にアプローチする最良の方法は、同様の監視と報告を行うツールのソースコードを見ることです。 /procを直接使用していることは保証されていませんが、問題を解決するための効率的な方法につながります。 あなたの場合、トップ(1)、アイオップ(8)、ネゴグ(8)が気になります。
SAR
-x特定のプロセスの統計情報を報告することができます。
詳細については、これを参照してください。 http://www.linuxcommand.org/man_pages/sar1.html
例: のsar -u -r -b 1つの-X PID | grep -v Average | grep -v Linux
この手法ではシステムを再起動する必要があり、rootはシステム全体の統計収集を有効にする必要があります。 –
'-x'または' -X'オプションを指定すると、ディスクまたはネットワークの統計情報ではなく、 'minflt/s majflt/s%user%system nswap/s CPU'の統計だけが表示されます。たとえば、ネットワークの統計情報を表示するために '-n DEV'と指定した場合、sarは別々のヘッダを持つ別々の行を与えます。私はRHEL 5.7でそれをテストしました。 – haridsv
checkout glances。
これは、1つの画面上にすべてのCPUディスクとネットワークを持っています。プロセスごとではありませんが、別々の3つのツールを見るよりも優れています。
- 1. C++からWindows APIを使ってアプリケーションのCPU使用量やディスク使用量を取得する方法は?
- 2. レポートメモリとCPU使用量 - matlab - マルチコアLinuxサーバ
- 3. ディスク使用量またはCPU使用量に基づいたスロットルアプリケーション
- 4. システムモニタプログラムからCPUコア使用量を取得する方法は?
- 5. Linuxサーバーのディスク容量
- 6. Linuxのプロセスメモリ/ CPU使用量を制限する
- 7. Goを使用して空きディスク容量を取得
- 8. linuxのファイル使用量に基づいてディスク使用量を最適化する方法は?
- 9. CでLinuxのCPU数を取得
- 10. HPUXでアプリケーションのCPUおよびメモリ使用量をプログラムで取得する
- 11. LinuxプロセスのCPU使用量とメモリ使用量を記録するためのシェルスクリプト
- 12. CPU使用率を取得する
- 13. C変数のディスク使用量(du)を読み取る方法
- 14. 80コアのシングルLinuxボックスでアプリケーション(CPUとキャッシュの使用量)を監視する
- 15. Redhat LinuxでスレッドのCPU使用率メトリックを取得する方法
- 16. Glassfish - 高いCPU使用量
- 17. CPU使用量とObject.wait
- 18. Android。 CPU使用量が多すぎる
- 19. ブランチあたりのGitディスク使用量
- 20. javaを使用してネットワークの使用率を取得する
- 21. Java APIを使用してJavaアプリケーションのCpuとメモリ使用量を取得する
- 22. Xcode3とiPhoneを使用した場合の大量のCPU使用率は同じネットワーク上にある
- 23. ブーストまたはポコでディスク容量を(使用/使用可能/合計)取得する方法は?
- 24. OperatingSystemMXBeanを使用してCPU使用率を取得する
- 25. スレッドメモリとCPU使用量のトラッキング
- 26. ビルド中にCPU、メモリ、ディスク使用量を測定するにはどうすればよいですか?
- 27. 私のCプログラムのCPU使用量とメモリ使用量を表示したい
- 28. Cassandraのディスク使用量を確認するには
- 29. 最小のディスク容量でAndroidスタジオを使用する
- 30. Javaで特定のプロセスのCPU使用量を取得するための適切なコマンドラインは何ですか
すべての3つのリソース(CPU、ディスク、ネットワーク)の情報が必要です – sethu
/proc/pid/statは私にCPU時間を与えますが、マシン全体の合計ネットワークとディスクの統計情報のみを収集できます特定のプロセス – sethu
プロセスごとにディスクとネットワークの統計情報を収集する方法はないと思います。主に、ディスクとネットワークのトラフィックがカーネルの仕組みとしてどのように行われるかにかかっています。たとえば、ディスクへの書き込みはカーネルバッファを介して行われるため、実際にディスクにフラッシュされる前に複数のプロセスが同じバッファにアクセスする可能性があります。 readと同じで、複数のプロセスが同じファイルを読み込み、最初のものだけがカーネルバッファへのポインタを取得するだけで実際のディスクアクセスを引き起こします。 – Soren