Переповнення / tmp монтується, коли вільний простір увімкнено /


26

Нещодавно я стикався з проблемою "переповнення" /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, чи є вільні вводи.


Цікаво. Чи можете ви показати показ mountкоманди та вміст / etc / fstab?
дчіріков

@dchirikov оновив пост ..
Rahul Patil

У вас просто не вистачає пам’яті? ( free -m) А яке ядро ​​ти працюєш? ( uname -a)
gertvdijk

@gertvdijk check я оновив ці речі ...
Rahul Patil

1
Будь ласка, поясніть Linux 2.6.32-41-serverна "Ubuntu 12.04.1 LTS". Це має бути 3.2.0-*. Дайте більше інформації. Це неповне оновлення? Запуск віртуалізації на основі VPS / контейнера? пр.
gertvdijk

Відповіді:


14

Коли система завантажиться і жорсткий диск заповнений, нічого не може записати в / tmp. Так під час init створюється та монтується tmpfs. Таким чином ваша система може безпечно завантажуватися, оскільки вона може записувати в / tmp.

Звільніть місце на диску та перезавантажте машину. (Або просто відключіть / tmp, якщо ви впевнені, що нічого не використовує).

Встановлення цього значення у 0 відключає налаштування. , який, як я б очікував, несе загрозу виходу з ладу або неможливості увійти в систему.

Я думаю, що відповідь Нітеша Б. небезпечна і слід уникати.


Чи можемо ми знайти якийсь спосіб автоматичного повернення tmp, що підтримується ramdisk, як тільки ми матимемо місце на диску?
CMCDragonkai

Я звільняю багато місця, перезавантажуюсь і тепер не можу ввійти. Можливо, альтернатива @mpontillo була безпечнішою?
Пабло А

@PabloBianchi Можливо, він був розміщений через 6 місяців після мого, тому я не дуже його оцінював. Це схоже на тимчасове вирішення проблеми, і ви будете знову на тому ж місці, коли перезавантажитеся, тож я думаю більше про приховування проблеми, а не про її усунення.
user50849

12

Я зіткнувся з тією ж проблемою на одному зі своїх серверів Ubuntu, після пошуку в мережі я отримав рішення.

Як захист від малого місця на диску, деякі демони автоматично "затіняють" поточний / tmp / dir рамним диском, якщо кореневий розділ закінчується з місця на диску. На жаль, немає автоматичного повернення цього процесу, як тільки буде достатньо місця на диску знову.

Щоб вирішити цю проблему, вимкніть свій / tmp та запустіть цю команду:

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

Це безумовно вирішить вашу проблему.


7
А що станеться наступного разу, коли система завантажиться без достатнього місця на диску, як тільки ви доручили їй не створювати tmpfs? Я вважаю, що ваші поради небезпечні та неправильні для переважної більшості користувачів / випадків.
user50849

Що це робить? echo 'MINTMPKB=0' > /etc/default/mountoverflowtmp?
CMCDragonkai

@CMCDragonkai Подивіться на мою відповідь.
user50849

Працював для мене після того, як диск був заповнений. Встановіть його на 0, перезавантажте та встановіть його знову на 1 після. Отже, коли диск буде заповнений наступного разу, система буде демонструвати таку саму поведінку.
Марко Гегенберг

Як ви "придумуєте / tmp"? Біг sudo umount /tmpкидає помилку/tmp: device is busy.
Серін

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.