최근에 "오버플로" 문제가 발생했습니다 /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
무료 inode가 있는지 확인했습니다.
답변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