Overflow / tmp dipasang ketika ada ruang kosong di /

26

Saya baru-baru ini menghadapi masalah "overflow" pada /tmp. Saya tidak memiliki /tmppartisi terpisah , dan ada 17% gratis di /- lalu mengapa saya mendapatkan sistem tmpfile yang melimpah ?

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

# /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 keluaran

/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

Saya menjalankan Ubuntu 12.04.1 LTS.

Saya juga memeriksa df -i, ada inode gratis.

Rahul Patil
sumber
Menarik. Bisakah Anda menampilkan output dari mountperintah dan konten dari / etc / fstab?
dchirikov
@dchirikov pos yang diperbarui ..
Rahul Patil
Bukankah Anda hanya kehabisan memori? ( free -m) Dan kernel apa yang Anda jalankan? ( uname -a)
gertvdijk
@ gertvdijk periksa saya telah memperbarui hal-hal itu ...
Rahul Patil
1
Tolong jelaskan Linux 2.6.32-41-serverdi "Ubuntu 12.04.1 LTS". Ini seharusnya 3.2.0-*. Berikan lebih banyak informasi. Apakah ini peningkatan yang tidak lengkap? Menjalankan virtualisasi berbasis VPS / Kontainer? dll
gertvdijk

Jawaban:

14

Ketika sistem melakukan booting dan hard drive penuh, tidak ada yang dapat menulis ke / tmp. Jadi selama init sebuah tmpfs dibuat dan dipasang. Dengan cara ini sistem Anda dapat boot dengan aman, karena dapat menulis ke / tmp.

Kosongkan ruang disk, dan reboot mesin Anda. (Atau cukup unmount / tmp, jika Anda yakin tidak ada yang menggunakannya).

Mengatur nilai ini ke 0 akan menonaktifkan pengaturan. , yang saya harapkan membawa risiko kegagalan init, atau tidak dapat masuk ke sistem.

Saya pikir jawabannya oleh Nitesh B. berbahaya dan harus dihindari.

pengguna50849
sumber
Bisakah kita menemukan cara untuk secara otomatis mengembalikan tmp yang didukung ramdisk begitu kita memiliki ruang disk?
CMCDragonkai
Saya membebaskan banyak ruang, reboot dan sekarang saya tidak bisa login. Mungkin alternatif @mpontillo lebih aman?
Pablo A
@PabloBianchi Mungkin, sudah diposting 6 bulan setelah saya, jadi saya belum benar-benar mengevaluasinya. Sepertinya solusi sementara, dan Anda akan berada di tempat yang sama lagi ketika Anda reboot, jadi ini lebih tentang menyembunyikan masalah daripada memperbaikinya, saya pikir.
user50849
12

Saya menghadapi masalah yang sama pada salah satu server Ubuntu saya, setelah mencari di internet saya mendapat solusinya.

Sebagai perlindungan terhadap ruang disk rendah, beberapa daemon secara otomatis "membayangi" arus / tmp / dir dengan disk ram jika partisi root kehabisan ruang disk. Sayangnya tidak ada pengembalian otomatis dari proses itu begitu ruang disk cukup bebas lagi.

Untuk mengatasi masalah ini, umount / tmp Anda dan jalankan perintah ini:

echo 'MINTMPKB=0' > /etc/default/mountoverflowtmp

Ini pasti akan menyelesaikan masalah Anda.

Nitesh B.
sumber
7
Dan apa yang terjadi saat sistem melakukan booting tanpa ruang disk yang cukup setelah Anda menginstruksikannya untuk tidak membuat tmpfs? Saya pikir saran Anda berbahaya dan tidak benar untuk sebagian besar pengguna / kasus.
user50849
Apa ini? echo 'MINTMPKB=0' > /etc/default/mountoverflowtmp?
CMCDragonkai
@ CMCDragonkai Lihat jawaban saya untuk penjelasan tentang itu.
user50849
Bekerja untuk saya setelah disk penuh. Atur ke 0, reboot dan atur kembali ke 1 setelah. Jadi ketika disk penuh waktu berikutnya, sistem akan menunjukkan perilaku yang sama.
Marco Hegenberg
Bagaimana Anda "umount your / tmp"? Menjalankan sudo umount /tmpmelempar kesalahan/tmp: device is busy.
Cerin
8

Ini membantu saya ; yaitu, berikut ini adalah solusi setelah saya membersihkan beberapa ruang:

sudo mount -o bind /var/tmp /tmp
mpontillo
sumber