FreeBSD QandA 316
Q. コンパイルの最中に virtual memory exhausted というメッセージを出し
てコンパイルができません。主記憶も swap も十分にあるはずなのですが...
A. 計算機資源の制限値に引っかかっているのかもしれません。プロセスごと
に制限値が設定されています。この場合ですと コマンドラインからコンパイ
ルを実行したのですから、その時のプロセスすなわちシェルが起動したときに
OSが設定した制限値です。
この制限値を確認したり、変更したりするコマンドは cdコマンドなどと同じ
ようにシェル自身が提供するコマンド(内部コマンド)なので、使用しているシェ
ルによってコマンド名やフォーマットが異なります。それぞれのシェルのman
で調べてください。csh,zshの場合は limit コマンドで確認できます。
データ領域の大きさの上限に引っかかっている場合は、unlimit datasize と
すると良いでしょう。
またプロセスとは別に システム(OS)自体の最大値というものも決まっていま
す。この値は limit -h コマンドで確認できます。こちらの制限に引っかかっ
ている場合は、sysctlコマンドで変更出来るモノもありますが kernelを再構
築する方がよいでしょう。
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。