実行時にプロセスのリソース使用量(時間、メモリ、システムコール)を監視しようとしていますが、ptrace、linuxのsetrlimitなどのウィンドウにapisがありますか? ありがとう実行時にプロセスのリソース使用量(時間、メモリ)を監視する方法はありますか?
答えて
あなたはC/C++(またはC#P /呼び出しを介して)にしたいものに応じたAPIの束があります。
例えば、探し始めるために、
は、プロセスのCPU時間(UM/KM) : http://msdn.microsoft.com/en-us/library/ms683223(VS.85).aspx
プロセスVM(ワーキングセット): http://msdn.microsoft.com/en-us/library/ms683226(v=VS.85).aspx
プロセスI/Oデータ: http://msdn.microsoft.com/en-us/library/ms683218(v=VS.85).aspx
これらを試すことができます。
いくつかの方法があります。まず、プロセスを低保全プロセスとして実行したいと考えています。これは、Internet Explorerの実行方法に似ています。そのようなプロセスは、他のプロセス、レジストリ、およびファイルシステム(選択された低完全性ディレクトリを除く)から分離されます。
第2に、あなたは実行可能ファイルを管理しています。どのDLLや関数を使用することが許可されているかをホワイトリストに登録する必要があります。ブラックリストにはCreateProcess
の亜種が多すぎます。これは、危険な機能を排除するためにCRTを再構築する必要があるかもしれません。
サンドボックスC#のコードはやや簡単です。明らかに安全なコードに制限する必要があります。 PEVerifyがお手伝いできます。
この種の分析には、ProcMon、Process Explorer、ProcessMonitor、Performance Monitorなどのシステムツールを使用できます。システムコールの追跡は、実際には難しい作業です。アプリケーションによって数百のシステムコールが作成されます。このようなタイプの深いプロファイリングには、Inter VTune Analyzerのようなツールを使用する必要があると思います。
- 1. メモリ消費量を1時間以上監視する
- 2. プロセスのCPUとメモリ使用量を監視する
- 3. MSSQL:ストアドプロシージャの実行時間を監視する方法
- 4. hibernateを使って各クエリの実行時間を監視する方法は?
- 5. プロセスの開始から終了までのメモリ使用量を監視する
- 6. Google Cloud Platform:VMインスタンスのメモリ使用量を監視する方法
- 7. パフォーマンスカウンタを使用してWCFサービスの稼働時間を監視する方法はありますか?
- 8. Glassfishのメモリ使用量を監視するには?
- 9. Linuxでプロセスの総メモリ使用量と実行時間を取得するには?
- 10. Pythonマルチプロセッシング - メモリ使用量を監視するには?
- 11. ストアドプロシージャの実行時間を監視する
- 12. SPARK:Sparkクラスタのメモリ消費量を監視する方法は?
- 13. 任意のWindows実行ファイルのメモリ使用量と実行時間の測定
- 14. 各プラグインの実行時間とメモリ使用量をプログラムで取得する
- 15. ジャンゴセロリ:私は5分ごとに実行する必要があります長時間実行プロセスを持っていますが、プロセスの複数のインスタンスを同時に実行することはありません長時間実行プロセス
- 16. .Net/monoのスレッドのメモリ使用量と実行時間を制御する方法は?
- 17. Webpackを使用して実行時にリソースをロードする方法はありますか?
- 18. Rのメモリ使用量を監視するR
- 19. 実行時にd:DesignData xamlを使用する方法はありますか?
- 20. JAVA Eclipseを使用して暗号化プログラムが実行されている時間を監視する方法はありますか?
- 21. スレッドあたりのプロセスあたりの時間の量子数
- 22. Hadoopで長時間実行されているジョブの監視、送信方法
- 23. Javaの同時実行 - 監視スレッド
- 24. Linuxシステムでは、 "cgroups"を使用する以外に、実行中のプロセスのメモリ使用量を制限する方法はありますか?
- 25. とにかく、Pythonプロセスのメモリ使用量を制御する方法はありますか?
- 26. 実行時にTableAttributeを設定する方法はありますか、実行時にLINQタイプの切り替えを行う方法はありますか?
- 27. java:プロセスを管理/監視するライブラリはありますか?
- 28. どうすればlinuxで自分のプロセスの各スレッドのメモリ使用量を監視できますか?
- 29. SQLの各実行の測定/監視の応答時間
- 30. 時間配列を時間順にソートする方法はありますか?
コンパイル時にリソースの使用状況を監視できますか? :Pあなたが探しているのは、プロファイラーと呼ばれるツールです。 Web上のC++/C#プロファイラを検索します。 –
あなたの提案をお寄せいただきありがとうございます。私はWindows上で簡単なオンラインジャッジを作成しようとしており、ユーザーのコードをコンパイルし、https://www.spoj.plのような限られた時間とメモリでプログラムを実行できます。私は何を使うべきですか? – shiwei
必要なものをさらに説明してください。プロセスが使用できるメモリの量とCPU時間の制限を設定したいと思うようです。そうですか?さまざまな指標があるため、メモリの意味を定義してください。 –