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

kurihara shinji shinji.kurihara @ aist.go.jp
2010年 7月 6日 (火) 13:52:07 JST


松坂様

お世話になっております。
栗原です。

ご連絡、有難うございます。
こちらで確認しましたところ、ご指摘頂きましたように、INACTIVE状態ではACTIVE状態に
比べCPU負荷が高くなっておりました。

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

1msecでコンポーネントを実行する必要が無い場合は、お手数ですが、rtc.confファイル
に以下の一行を追記して、ご確認頂けますでしょうか。

 exec_cxt.periodic.rate: 10 # 10Hzです。


以上、宜しくお願い致します。


On Tue, 6 Jul 2010 11:22:05 +0900
Yosuke Matsusaka <yosuke.matsusaka @ aist.go.jp> wrote:

> OpenRTM-aist開発者の皆様
> 
> 産総研の松坂です。
> 
> Python版のOpenRTM-aistに特有の問題ですが、コンポーネントがアクティブ状態にないときに
> CPU負荷が上昇する現象に遭遇しています。
> 私の環境だけかもしれませんが、確認してみていただけますでしょうか?
> 
> 以下、再現方法です。
> 1.適当なPythonコンポーネントを起動(私は添付のスクリプトを使用しましたがそれ以外でも再現します)
> 2.コンソールでtopコマンドを入力(この時点でPythonコンポーネントの負荷が10%程度に上昇しているのが確認できます)
> 3.RTSystemEditor上でコンポーネントをアクティベート(Pythonコンポーネントの負荷が数%に低下)
> 4.RTSystemEditor上でコンポーネントをデアクティベート(Pythonコンポーネントの負荷が10%程度に上昇)
> 
> 私の開発環境の詳細です。
> VMWare使用
> ホストPC:MacOS X (snow leopard)
> ゲストPC:Ubuntu 10.4
> OpenRTM:1.00-release (debパッケージ)
> 
> もし何かわかりましたら教えてください。
> 
> -- 
> 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/
> 


-- 
----------
栗原 眞二 <shinji.kurihara @ aist.go.jp>

独立行政法人産業技術総合研究所
  知能システム研究部門 統合知能研究グループ
  〒305-8568
  茨城県つくば市梅園1-1-1 中央第2

  TEL: 029-861-5956



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