スタック用のメモリ上限設定
FortranのプログラムをOpenMPで並列化した時、
コンパイルが通って実行した時に初めて出る
Segmentation Fault
の原因は、大概の場合は自分のコードミス。
しかし、たまに環境由来のセグ落ちがあって、その一つがメモリ領域の不足らしい。
$ ulimit -a
でメモリ周りの現在の設定が出てくる。
$ ulimit -s xxxxxxx
で、スタック用のメモリの上限が設定できるよ。(俺の環境では単位はkb)
他もいじりたいときは-a
で出てきた情報を見て(自己責任で)いじって、どうぞ。
xxxxxxx
の部分には整数の他にunlimited
という値も入れられるのだけれど、これは無限という意味ではなく、各環境毎に何らかの値に対応するというはた迷惑な表現らしいので、各自自分の環境を見て手計算して具体的な整数
を入れるべし。