Compiling

gcc 編譯時間長

  • February 3, 2014

到目前為止,我的編譯要麼成功,要麼失敗,但他的時間只是卡住了。我正在 Linux Synology NAS 上編譯 gcc。但是,編譯過程已經執行了 3 天,我開始認為它永遠不會完成。從 ps 我得到以下輸出:

27513 root      2536 S    /opt/bin/bash -c r=`${PWDCMD-pwd}`; export r; \ s=`cd .; ${PWDCMD-pwd}`; export s; \ if test -f stage1-lean  ; then \   echo Skipping rebuild of
27866 root      2468 S    /opt/bin/bash -c build/genautomata ../.././gcc/config/rs6000/rs6000.md \   insn-conditions.md > tmp-automata.c
27867 root      432m D    build/genautomata ../.././gcc/config/rs6000/rs6000.md insn-conditions.md
31539 root      2924 S    grep build

最後一次寫入 tmp-automata.c 是 2.5 天前。NAS 只有 64 MB RAM,所以我預計編譯時間很長,但不是這個級別。建構過程的平均 CPU 負載為 5-10%。有什麼問題?如何進行故障排除?

好吧,看起來編譯需要大約 500 megs 的記憶體,並且由於系統只有 64 megs,因此系統正在顛簸:它正在使用交換,它可以工作,但非常非常慢。

你在記憶體這麼少的系統上編譯它有什麼原因嗎?如果它是一個帶有定制 CPU 的嵌入式系統,我會在另一個系統上交叉編譯。

引用自:https://unix.stackexchange.com/questions/112273