差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
ssm:tips [2014/07/22 10:53]
rpp 作成
ssm:tips [2014/10/31 07:09] (現在)
rpp
ライン 1: ライン 1:
 ======tips====== ======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.1405994008.txt.gz · 最終更新: 2014/07/22 10:53 by rpp
CC Attribution-Share Alike 3.0 Unported
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0