ssm:tips

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
ssm:tips [2014/10/31 07:09] rppssm:tips [2023/03/29 15:16] (現在) – 外部編集 127.0.0.1
行 1: 行 1:
 +======tips======
 +
 +=====  大きな容量(画像など)のデータを登録したい  =====
 +画像等のデータは毎秒24MByte等、非常におおきな記憶容量を必要とします。
 +
 +SSMでは共有メモリにデータを蓄積するため、
 +
 +記録できる容量は共有メモリサイズに依存します。
 +
 +設定されている共有メモリの大きさは下記
 + <code>/proc/sys/kernel/shmmax</code>
 +で参照できます。
 +
 +また、一時的にサイズを変更する際は、
 + <code># echo <サイズ> > /proc/sys/kernel/shmmax</code>
 +
 +ずっと変更する際は、<color red>/etc/sysctl.conf</color>
 +<code> kernel.shmmax = <サイズ></code>
 +その後、
 +<code> #/sbin/sysctl -p </code>
 +をやると良いらしいです。(画像を扱うならサイズ=134217728くらい)
 +
 +参考URL:
 +[[http://search.luky.org/linux-users.a/msg06387.html]]
 +
 +===== SSMプロパティーに大きなデータ(8k以上とか)を登録したい  =====
 +SSMプロパティーはメッセージを使ってやりとりします。\\
 +その為プロパティーの最大値は、
 +<code>
 + /proc/sys/kernel/msgmax
 + /proc/sys/kernel/msgmnb
 +</code>
 +に定義されています。
 +
 +また、一時的にサイズを変更する際は、
 +<code>
 + # echo <サイズ> > /proc/sys/kernel/msgmax
 + # echo <2倍サイズ> > /proc/sys/kernel/msgmnb
 +</code>
 +
 +ずっと変更する際は、<color red>/etc/sysctl.conf</color>
 +<code>
 + kernel.msgmax=32768
 + kernel.msgmnb=65536
 +</code>
 +その後、
 +<code>
 + #/sbin/sysctl -p
 +</code>
 +をやると良いらしいです。
 +
 +参考URL:[[
 +http://zpache.seesaa.net/article/52092947.html]]
 +
 +これだけでは足りないので、ついでに<color red>/etc/security/limits.conf</color>も編集します 。
 +
 +適当な位置に以下を書き加えてください。
 +<code>
 + @ymbc - msgqueue 8192000
 +</code>
 +その後再ログインします。
 +
 +=====  SSMの連続で動かすことのできる最大時間  =====
 +SSMはリングバッファの管理にtid(int型の値)を使っており、これがカウントアップされることでデータが更新したかどうかを判断している。
 +
 +C言語でint型の最大値は2147483647であり、これがデータの上限となる。
 +これを超えたときの動作は未定(たぶんデータの読み書きができなくなる)である。
 +
 +目安として、YP-Spurの様に5msec周期で動作させたとき、周波数は200Hzなので、
 +<code>
 + 2147483647 / 200 / 3600 / 24 = 124.275674
 +</code>
 +なので、124日は連続で使用することができる。
  
  • ssm/tips.txt
  • 最終更新: 2023/03/29 15:16
  • by 127.0.0.1