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