[openrtm-users 01340] Re: high CPU load when deactivate python component

Yosuke Matsusaka yosuke.matsusaka @ aist.go.jp
2010年 7月 6日 (火) 14:07:05 JST


栗原さん

松坂です。いつもお世話になっています。

2010/7/6 kurihara shinji <shinji.kurihara @ aist.go.jp>:
> 1msecでコンポーネントを実行する必要が無い場合は、お手数ですが、rtc.confファイル
> に以下の一行を追記して、ご確認頂けますでしょうか。
>
>  exec_cxt.periodic.rate: 10 # 10Hzです。

上記の変更でかなり負荷が軽減されることを確認しました。

> これは、RTCの実行コンテキスト(PeriodicExecutionContext)がwhileループを回してい
> るためでして、whileループ内ではデフォルトで 0.001 秒の sleep が入りますが、0.001
> 秒の sleepでは cpu負荷が少々高くなるようです。
> sleep時間を0.01秒にする事で負荷は約半分に軽減される事を確認しました。
> # sleepが無い場合は、CPUは90%近くなります。

この部分に関して、非アクティブ状態ではそもそもループを回さない方が良いと思うのですが、
このような実装になっているのは何か理由があるのでしょうか?
#私がRTMの規格を誤解していたらすみません。

-- 
Yosuke Matsusaka, Ph.D  <yosuke.matsusaka @ aist.go.jp>
  Interaction Modeling Group /
  National Institute of Advanced Industrial Science and Technology (AIST)
  Tel: 029-862-6726  Web: http://staff.aist.go.jp/yosuke.matsusaka/



openrtm-users メーリングリストの案内