[英]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.