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

kurihara shinji shinji.kurihara @ aist.go.jp
2010年 7月 6日 (火) 14:31:09 JST


金広様

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

先程の「INACTIVE状態ではACTIVE状態に比べCPU負荷が高くなっておりました」
という内容には補足が抜けておりました。
こちらで確認しましたコンポーネントは、ConsoleIn.pyでして、ACTIVE状態で
は標準入力からの入力待ちとなるため、INACTIVE状態ではACTIVE状態よりもCPU
負荷が高いと表現致しました。
誤解を招く表現をしてしまい、申し訳ございません。

ご指摘の通り、実際は、onExecute()にて何らかの処理を実装している場合、
INACTIVE状態よりもACTIVE状態の方が負荷は高くなります。

ConsoleIn.pyのonExecute()にて、すぐに"return RTC.RTC_OK"にて何も処理を
行わないように変更し確認しましたところ、INACTIVE状態とACTIVE状態とでは
負荷はほぼ同じでした。


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


On Tue, 6 Jul 2010 14:18:51 +0900
Fumio Kanehiro <f-kanehiro @ aist.go.jp> wrote:

> 栗原様,
> 
> 金広@産総研です.
> 
> 参考までになぜINACTIVE状態の方がACTIVE状態よりもCPU負荷が高くなるのか教えて
> いただけないでしょうか.
> ExecutionContextはRTC内のステートマシンの状態によらず動作しているため,RTCが
> INACTIVEでもCPUを食うのはわかるのですが,ACTIVE状態のほうがonExecute()を
> 実行する分だけ負荷が高くなるように思えるのですが.
> 
> 2010/7/6 kurihara shinji <shinji.kurihara @ aist.go.jp>:
> > 松坂様
> >
> > お世話になっております。
> > 栗原です。
> >
> > ご連絡、有難うございます。
> > こちらで確認しましたところ、ご指摘頂きましたように、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
> >
> >
> 


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

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

  TEL: 029-861-5956



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