看板 Fortran 關於我們 聯絡資訊
我有一個用fortran 寫的計算 通常一跑就要好幾天 程式裏面有要求跑到一個段落就要把進度寫進輸出檔 但是實際上執行卻發現 程式似乎不會每執行到相關地方就輸出 而是在不斷堆積在記憶體裏面 等累積到一定的量才真的寫入檔案 當然程式最後跑完還是會全部寫進檔案 但是想問有沒有方法 可以讓他正在跑的時候 輸出都即時寫入檔案 或是減少在記憶體累積的量? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 76.247.22.141 ※ 文章網址: https://www.ptt.cc/bbs/Fortran/M.1445921508.A.F99.html
hiyiyi: 寫完後關閉檔案,欲寫入資料再用append參數開啟檔案 10/27 13:40
rex0707: 我的程式就會到一定的進度就輸出檔案欸 你是不是寫錯了 10/27 16:41
noonee: 謝謝回應 我先測試看看 10/28 05:22
noonee: 另外 我想我內文講錯了一部份 10/28 05:23
noonee: 這個狀況最嚴重的 是程式本身會要求把東西print out到 10/28 05:24
noonee: 螢幕 而在實際執行時寫 $./exe > output_record 10/28 05:25
noonee: 如果在執行中去看 output_record 就會發現並非總是秀出 10/28 05:25
noonee: 實際的進度 10/28 05:26
blc: https://goo.gl/7BUaI5 ,看stdbuf的用法。 10/28 17:05
noonee: 非常感謝 我最後用了unbuffer 的確馬上就寫入紀錄檔 10/29 02:26
noonee: 真是非常感謝 這問題麻煩很久了 10/29 02:26