簡體   English   中英

gcc:設備上沒有剩余空間了嗎?

[英]gcc: No space left on device?

我正在嘗試在Ubuntu 10中使用簡單的gcc命令制作一些C代碼,但是由於某些原因,我一直遇到錯誤:

Cannot create temporary file in /tmp/: No space left on device

事實是,磁盤上有足夠的空間。 這是df -h的輸出:

Filesystem            Size  Used Avail Use% Mounted on
/                     3.7G  2.4G  1.1G  70% /
devtmpfs              312M  112K  312M   1% /dev
none                  312M   24K  312M   1% /dev/shm
none                  312M   80K  312M   1% /var/run
none                  312M     0  312M   0% /var/lock
none                  312M     0  312M   0% /lib/init/rw

還有df -i,以防您對inode感到疑惑:

Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/                     240960  195198   45762   82% /
devtmpfs               79775     609   79166    1% /dev
none                   79798       3   79795    1% /dev/shm
none                   79798      41   79757    1% /var/run
none                   79798       2   79796    1% /var/lock
none                   79798       1   79797    1% /lib/init/rw

我也可以成功touch /tmp/test ,所以我知道驅動器上有空間。 關於gcc為什么突然決定做出合適決定的任何想法? (它之前工作的很早)謝謝。

在我看來,您的/ tmp目錄實際上是作為devtmpfs掛載的,如果我沒有記錯的話,它實際上是您計算機的RAM。

您始終可以重新引導並查看是否有幫助,增加虛擬內存分區,或者可以關閉正在運行的程序以查看是否有幫助。 此外,您可能會從/ tmp中刪除一些不必要的文件,因為它們至少對會話的生存期具有影響。

中間文件對於/tmp太大,因此也許使用另一個臨時目錄( TMPDIR=/var/tmp g++ ... )會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM