FreeBSD QandA 316

FreeBSD QandA

Q. コンパイルの最中に virtual memory exhausted というメッセージを出し
   てコンパイルができません。主記憶も swap も十分にあるはずなのですが...

A. 計算機資源の制限値に引っかかっているのかもしれません。プロセスごと
   に制限値が設定されています。この場合ですと コマンドラインからコンパイ
   ルを実行したのですから、その時のプロセスすなわちシェルが起動したときに
   OSが設定した制限値です。
    この制限値を確認したり、変更したりするコマンドは cdコマンドなどと同じ
   ようにシェル自身が提供するコマンド(内部コマンド)なので、使用しているシェ
   ルによってコマンド名やフォーマットが異なります。それぞれのシェルのman
   で調べてください。csh,zshの場合は limit コマンドで確認できます。
    データ領域の大きさの上限に引っかかっている場合は、unlimit datasize と
   すると良いでしょう。
    またプロセスとは別に システム(OS)自体の最大値というものも決まっていま
   す。この値は limit -h コマンドで確認できます。こちらの制限に引っかかっ
   ている場合は、sysctlコマンドで変更出来るモノもありますが kernelを再構
   築する方がよいでしょう。

間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。