ฉันจะตรวจสอบสิ่งที่ใช้พื้นที่ดิสก์ใน / tmp ได้อย่างไร


8

ฉันกำลังทำงานบนเซิร์ฟเวอร์ภายนอก - ทำเว็บ API ที่นั่น วันนี้เมื่อฉันต้องการใช้ api php ส่งคืนข้อผิดพลาด:

Unknown: write failed: No space left on device (28)

ดังนั้นฉันคิดว่า tmp เต็มแล้ว:

~# df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       102G   97G     0 100% /

ดังนั้นฉันคิดว่าฉันต้องล้างถังขยะใน tmp - แต่ก่อนอื่นฉันอยากจะรู้ว่าอะไรเป็นสาเหตุของปัญหาฉันหมายถึงหน่วยความจำที่ใช้ใน tmp มาก? บางทีบางอย่างกำลังท่วม tmp dir อย่างใด? ฉันไม่ใช่ผู้เชี่ยวชาญในการดูแลระบบฉันเพิ่งเขียนเว็บ -i api ... เป็นเรื่องปกติหรือไม่ที่ขนาดของ tmp ถูกใช้จนหมด? บางทีมันอาจจะเกิดขึ้นเป็นครั้งคราว?

ผลลัพธ์คำสั่ง:

du -sh /tmp/* | sort -h
0       /tmp/tmpEZIyDT
0       /tmp/unity_support_test.0
4.0K    /tmp/amazoncookie.txt
4.0K    /tmp/at-spi2
4.0K    /tmp/filewhHOLH
4.0K    /tmp/keyring-b3ZOTY
4.0K    /tmp/mc-domator
4.0K    /tmp/mc-root
4.0K    /tmp/pulse-2L9K88eMlGn7
4.0K    /tmp/pulse-PKdhtXMmr18n
4.0K    /tmp/ssh-thimUVhk2748
8.0K    /tmp/pulse-5N1YM8s2cT0i

แปลก - ฉันเข้าใจสิ่งต่าง ๆ ไม่มากนักใน tmp dir ... อาจมีบางอย่างกำลังใช้พื้นที่ดิสก์มาก - ฉันจะตรวจสอบได้อย่างไร

คำตอบ:


9

คำสั่งแรกระบุว่า / tmp เป็นจริงบนระบบไฟล์เดียวกับ / (เช่นทุกอย่างอื่น) หากพาร์ติชันรูทของคุณเต็มอาจเป็นไปได้ว่ามีสิ่งอื่น ๆ (เช่น / var / log) กำลังใช้พื้นที่

วิธีที่ดีในการค้นหาสิ่งต่าง ๆ คือการทำ

du -sc * .[^.]* | sort -n

เพื่อค้นหาว่าไดเรกทอรีใดใหญ่ จากนั้นคุณสามารถทำ cd ต่อไปในไดเรกทอรีที่ต่ำกว่าและรันคำสั่งอีกครั้งเพื่อ จำกัด สิ่งต่าง ๆ ให้แคบลง


1
เรียกใช้การตรวจสอบอย่างรวดเร็วเกี่ยวกับเนื้อหาของ/var/log/- หากโปรแกรมได้รับกิกะไบต์ของข้อผิดพลาดที่ไม่ได้ตรวจสอบสิ่งนี้สามารถเติมไดรฟ์ได้อย่างรวดเร็ว
Darth Android

ขอบคุณ - มันเป็นความคิดที่ดีของ lookin สำหรับไฟล์ที่ซ่อน - ปัญหาคือไฟล์ขนาดใหญ่ ".xsession-errors" ในผู้ใช้บางรายที่บ้าน dir - ตอนนี้ฉันเพิ่งลบมัน
user166241

3

ใน distro ล่าสุด:

du -sh /tmp/* | sort -h

บน Distro ที่เก่ากว่า:

du -csm /tmp/* | sort -n

ฉันแก้ไขโพสต์ - ผลลัพธ์ของคำสั่งแรกแปลก ...
user166241

2

ตรวจสอบว่าคุณไม่ได้ใช้ไอโหนดหมด

# df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda3            1236992 1236992       0  100% /
tmpfs                1007716       1 1007715    1% /dev/shm
/dev/sda1              38456      45   38411    1% /boot

ความคิดเห็นด้านบนมีไว้สำหรับอ้างอิงสำหรับ ppl ที่มีปัญหาเดียวกัน
Zuzu

0

นี่คือสิ่งที่ฉันมีใน bashrc ของฉัน จะให้ความคิดที่ดีเกี่ยวกับสิ่งที่ "ใหญ่" และคุณสามารถตรวจสอบได้จากที่นั่น ใช้มันเมื่อเรามีผู้ใช้ที่ต้องการใช้ระบบ / tmp แทนพื้นที่ tmp ที่ใช้ร่วมกันของเรา

function get_big_usage () {
    echo -e "\n"
    du -ks /tmp/* | sort -nr | head
    echo -e "\n"
    du -ks /var/* | sort -nr | head
    echo -e "\n"
    du -ks /home/* | sort -nr | head
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.