2011-07-22 6 views
1

C/C++/Obj-Cを使用したInstruments and Activity MonitorのようなCPU使用率の数値を取得する方法を探していますので、いくつかの自動テストを行うことができます。私は100秒が理想的かもしれませんが、1秒の精度でどこかを探しています。この質問を見る別の方法は、「アクティビティモニターはどのように情報を取得するのですか?」です。ここでiOSでは、実行中のアプリケーションの中から現在のCPU使用率を取得するにはどうすればよいですか?

は、私がこれまでに判明しているものです:* nixの同等物は、iOSの

  • sysctl で動作していないようですが

    • 多くはKERN_CPTIME
    • のiOS」はdoesnの必要はありません。 procファイルシステムを持っているので、 /proc/statを使うことはできません。
      • これはvmstatのようなプログラムの多くを排除し、
  • のiostatのMacOSXの sample は、iOSには存在しません。

答えて

-1

できません。この情報へのUn * xの標準アクセスは、iOSアプリでは利用できません。

+0

標準の* nixアクセス方法は利用できませんが、アクティビティモニターと計測器はどのように情報を取得するのですか?文書化されていないAPIや限定されたAPIでも構いませんが、私はそれを行うことができるいくつかの公開APIがあることを期待しています。 – Brian

1

私は答えを見つけました。 PROCESSOR_CPU_LOAD_INFOフレーバーを持つhost_processor_info()という文書化されていないAPIがあります。このAPIは、システム、ユーザー、nice、およびアイドルティックの数を提供します。現在のCPU使用率を取得するには、以前の呼び出しからのティック数を減算する必要があります。取得した配列でvm_deallocateを呼び出すことを忘れないでください。

関連する問題