【オンラインで使用する場合の共有メモリ上限値に関する注意】 polly/anna で使用するヒストグラム領域は (Fortran ベースである都合上) コンパイル時に静的に割り当てており、実行時に領域不足で困らないように 大き目の値を設定しています。具体的な設定値は …/polly/src/Imakefile.def …/anna/src/Defs/(OS名) の NHCOM の定義を参照してください (値は 4 バイト単位です)。 最近のマシンは広大なメモリとディスクを積んでいるので、その恩恵を享受 すべく、ヒストグラム領域も大き目に設定していますが、共有メモリの割り 当て上限値を越えると、オンラインで使用する場合に支障が生じます。 古い OS では共有メモリの上限値をシステムで固定していることが多かった のですが、最近は上限値が設定されていない (つまりメモリの使用可能最大 まで使える) か、上限値の設定を変更できるようになっています。具体的に は polly/anna が使用している handypak の README.shm にも追記しました が、以下に再録します (ここで SHMMAX とは共有メモリの上限値で、かつて の多くの OS では に固定的に記述されていました)。 ==================================================================== Linux では kernel-2.2 以降 SHMMAX を動的に変更できるようになりました。 簡単な説明が man shmget にありますが、現在の値は cat /proc/sys/kernel/shmmax で表示され (kernel-2.{2,4,6} ともデフォルトは 32 MB)、例えば echo 0x8000000 > /proc/sys/kernel/shmmax とすれば SHMMAX を 128 MB に設定できます。これをシステムのデフォルト にしたければ、/etc/sysctl.conf に kernel.shmmax = 0x8000000 という行を書き足すと、次回の起動時から反映されます。 AIX では (少なくとも 5.1 以降) 共有メモリの大きさに関する特別な制限は 無く、全てのメモリが共有メモリとして使用可能らしいです。 いずれの場合にも、limit (tcsh) または ulimit (bash) による制限が更に 加わるので、十分な大きさに設定されているか確認してください。