計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)

AIX XL Fortran コンパイラでコンパイルはできるが「メモリが不足しています」と言われて実行できない


プログラム中の変数, 特に配列が, 大容量のメモリを必要としている場合に起きる.

どのくらいのメモリを必要とするプログラムなのかは size コマンドで確認できる(UNIX共通).

例 :
  % size program
  program: 20 + 900 + 124 + 116 + 276 + 396 + 462 = 2294
  [計2294バイトを利用する]

もしこの結果が 256MB (256×1000×1024バイト) を越えるようだと, 実行時に「メモリが不足しています」と言われて実行できなくなる.
このエラーは, コンパイル(実際にはリンク)のときに最大メモリ使用量を教えてやることで回避できる.
それには -bmaxdata:メモリ使用量(バイト) というオプションを f77 に渡す.

例 :
  % f77 -bmaxdata:1000000000 program.f
  [約1GBのメモリを予約する]


計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)
海洋大循環分野
daigo@ocg.aori.u-tokyo.ac.jp