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