ล้น / 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แล้วมี inodes ฟรี


น่าสนใจ คุณสามารถแสดงผลลัพธ์ของmountคำสั่งและเนื้อหาของ / etc / fstab ได้หรือไม่?
dchirikov

@dchirikov อัพเดทโพสต์ ..
Rahul Patil

คุณไม่ได้เป็นเพียงแค่หน่วยความจำไม่เพียงพอ? ( free -m) และคุณใช้เคอร์เนลรุ่นใด ( uname -a)
gertvdijk

@ gertvdijk ตรวจสอบว่าฉันได้อัปเดตสิ่งเหล่านั้น ...
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 จะเป็นการปิดใช้งานการตั้งค่า ซึ่งฉันคาดว่าจะมีความเสี่ยงจากความล้มเหลวในการเริ่มต้นหรือไม่สามารถเข้าสู่ระบบได้

ฉันคิดว่าคำตอบของ Nitesh B. นั้นอันตรายและควรหลีกเลี่ยง


บางทีเราสามารถหาวิธีคืนค่า ramdisk ที่ได้รับการสนับสนุน tmp โดยอัตโนมัติเมื่อเรามีพื้นที่ว่างในดิสก์?
CMCDragonkai

ฉันว่างมากรีบูตและตอนนี้ฉันไม่สามารถเข้าสู่ระบบ @mpontillo ทางเลือกอาจปลอดภัยกว่า
Pablo

@PabloBianchi บางทีมันก็โพสต์ 6 เดือนหลังจากที่ฉันแม้ว่าดังนั้นฉันไม่ได้ประเมินมันจริงๆ ดูเหมือนว่าจะเป็นการแก้ปัญหาชั่วคราวและคุณจะกลับมาอยู่ที่เดิมอีกครั้งเมื่อคุณรีบูทดังนั้นจึงเป็นการซ่อนปัญหามากกว่าการแก้ไขมันฉันคิดว่า
user50849

12

ฉันพบปัญหาเดียวกันในเซิร์ฟเวอร์ Ubuntu ตัวหนึ่งหลังจากค้นหาบนเน็ตแล้วฉันได้วิธีแก้ไขแล้ว

เพื่อเป็นการป้องกันพื้นที่ดิสก์เหลือน้อย daemons บางคนจะ "เงา" ปัจจุบัน / tmp / dir โดยอัตโนมัติด้วยแผ่นดิสก์ ram หากพาร์ติชันรูทหมดพื้นที่ดิสก์ น่าเสียดายที่ไม่มีการพลิกกลับอัตโนมัติของกระบวนการเมื่อมีพื้นที่ว่างในดิสก์เพียงพออีกครั้ง

เพื่อแก้ปัญหานี้ให้ติดตั้ง / tmp ของคุณและเรียกใช้คำสั่งนี้:

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

นี่จะแก้ปัญหาของคุณอย่างแน่นอน


7
และจะเกิดอะไรขึ้นในครั้งต่อไปที่ระบบบูตโดยไม่มีพื้นที่ดิสก์เพียงพอเมื่อคุณสั่งไม่ให้สร้าง tmpfs ฉันคิดว่าคำแนะนำของคุณอันตรายและไม่ถูกต้องสำหรับผู้ใช้ส่วนใหญ่ / คดี
user50849

กำลังทำอะไรอยู่ echo 'MINTMPKB=0' > /etc/default/mountoverflowtmp?
CMCDragonkai

@CMCDragonkai ดูคำตอบของฉันสำหรับคำอธิบายที่
user50849

ทำงานให้ฉันหลังจากที่ดิสก์เต็ม ตั้งค่าเป็น 0 รีบูตเครื่องแล้วตั้งค่ากลับเป็น 1 หลังจากนั้น ดังนั้นเมื่อดิสก์เต็มในครั้งต่อไประบบจะแสดงลักษณะการทำงานเดียวกัน
Marco Hegenberg

คุณ "umount your / tmp" ได้อย่างไร? การsudo umount /tmpเล่นผิดพลาด/tmp: device is busy.
Cerin

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.