我最近遇到了一个“溢出”问题/tmp
。我没有单独的/tmp
分区,并且有 17% 的空闲空间/
– 那么为什么我会出现溢出tmp
文件系统?
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
/dev/mapper/safesquid-root / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
UUID=d029e04b-11e9-42e1-b1d3-9cde73cb3b67 /boot ext2 defaults 0 2
/dev/mapper/safesquid-swap_1 none swap sw 0 0
mount
输出
/dev/mapper/safesquid-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda1 on /boot type ext2 (rw)
overflow on /tmp type tmpfs (rw,size=1048576,mode=1777)
rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
root@safesquid:~# free -m
total used free shared buffers cached
Mem: 2009 182 1826 0 9 48
-/+ buffers/cache: 124 1885
Swap: 715 130 585
root@safesquid:~# uname -a
Linux safesquid 2.6.32-41-server #94-Ubuntu SMP Fri Jul 6 18:15:07 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
我正在运行 Ubuntu 12.04.1 LTS。
我还检查了df -i
,有免费的索引节点。
答案1
当系统启动且硬盘已满时,任何内容都无法写入 /tmp。因此,在 init 过程中,会创建并安装 tmpfs。这样您的系统就可以安全启动,因为它可以写入/tmp。
释放磁盘空间,然后重新启动计算机。 (或者简单地卸载 /tmp,如果您确定没有任何东西使用它)。
将此值设置为 0 将禁用该设置。,我预计这会带来初始化失败或无法登录系统的风险。
我认为 Nitesh B. 的回答很危险,应该避免。
答案2
我在我的 Ubuntu 服务器上遇到了同样的问题,在网上搜索后我得到了解决方案。
为了防止磁盘空间不足,如果根分区磁盘空间不足,某些守护程序会自动使用 ram 磁盘“隐藏”当前 /tmp/ 目录。遗憾的是,一旦有足够的磁盘空间再次空闲,该过程就不会自动恢复。
要解决此问题,请卸载 /tmp 并运行以下命令:
echo 'MINTMPKB=0' > /etc/default/mountoverflowtmp
这肯定会解决你的问题。
答案3
这对我有帮助;也就是说,以下是我清理一些空间后的解决方法:
sudo mount -o bind /var/tmp /tmp