繁体   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