ไดรฟ์ราก Ubuntu หมดพื้นที่ฉันไม่สามารถหาแหล่งที่มาผ่าน du หรือ lsof


10

ไดรฟ์รากในเครื่อง Ubuntu 15.10 ใกล้จะหมดแล้ว แต่ฉันหาแหล่งไม่เจอ ไดรฟ์ที่ไม่มีพื้นที่เหลืออยู่มีsdb2ให้ 313M จาก 51G ext4ระบบแฟ้มเป็น

นี่คือsudo du -h / --max-depth=1ผลลัพธ์:

Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           789M  9.4M  780M   2% /run
/dev/sdb2        51G   48G  313M 100% /
tmpfs           3.9G   12K  3.9G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sdb1       511M  3.4M  508M   1% /boot/efi
tmpfs           789M  8.0K  789M   1% /run/user/1000
/dev/sda1       239G  122M  239G   1% /media/DATA

แต่ฉันไม่พบไฟล์ขนาดใหญ่ /ดูเหมือนว่าจะมีการใช้งานทั้งหมดเพียง 3.4 กรัมนี่คือผลลัพธ์จากsudo du -h / --max-depth=1:

4.0K    /mnt
188K    /tmp
406M    /home
339M    /var
8.1M    /etc
361M    /lib
du: cannot access ‘/proc/7626/task/7626/fd/4’: No such file or directory
du: cannot access ‘/proc/7626/task/7626/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/7626/fd/3’: No such file or directory
du: cannot access ‘/proc/7626/fdinfo/3’: No such file or directory
0    /proc
13M    /bin
du: cannot access ‘/run/user/1000/gvfs’: Permission denied
9.4M    /run
1.6M    /root
4.0K    /lib64
16K    /lost+found
0    /sys
1.1M    /media
12K    /dev
222M    /opt
2.0G    /usr
62M    /boot
9.5M    /sbin
4.0K    /cdrom
8.0K    /srv
3.4G    /

ฉันพบคำถามที่คล้ายกันที่นี่: ออกจากพื้นที่ดิสก์แหล่งที่มาคืออะไร?

sudo lsof | grep deletedในกรณีที่ดูเหมือนว่าปัญหาที่เกิดขึ้นเกิดจากการบันทึกลบที่ใดไม่ถูกปิดโดยกระบวนการทำงานและวิธีการที่จะพบว่ามันคือการทำงาน ในกรณีของฉันผลลัพธ์คือ

lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.

นอกจากนี้ปัญหายังคงอยู่หลังจากรีบูตระบบดังนั้นจึงไม่น่าเป็นไปได้ว่าเป็นสาเหตุ

วิธีแก้ปัญหาอื่นที่แนะนำคือยกเลิกการต่อเชื่อม/var/lib/ureadahead/debugfsแต่ฉันลังเลที่จะทำเช่นนั้น

มีอะไรผิดปกติอีกไหม?


รีบูตเครื่อง มีไฟล์ที่ถูกลบ แต่ถูกล็อคอยู่บางส่วน
Ipor Sircer

ฉันลองมัน แต่ก็ไม่มีอะไรเปลี่ยนแปลง
biggvsdiccvs

1
ตรวจสอบข้อผิดพลาดของระบบไฟล์และอัปเดตเป็นรีลีส Ubuntu ที่รองรับ
Michael Hampton

6
เพียงแค่เรียกใช้ "du -sh *" เมื่อคุณอยู่ในโฟลเดอร์รูท อย่าใช้ - ธงความลึกสูงสุด
เด็กกำพร้า

1
@Orphans ดูเหมือนว่าฉันไม่เห็น*"
ซ้อน

คำตอบ:


21

ดีก็เป็นเพียงการคาดเดา แต่มันอาจจะงาน: ผมคิดว่าผู้ใช้ที่ครั้งหนึ่งเคยลืมที่จะติด/dev/sda1เป็น/media/DATAและข้อมูลทั้งหมดถูกเขียนบนแทน/dev/sdb2/dev/sda1

ในการตรวจสอบโปรดยกเลิกการต่อเชื่อม/media/DATAและตรวจสอบไฟล์และโฟลเดอร์ภายใต้เส้นทางนี้


ขอบคุณนั่นคือสิ่งที่มันเป็น! ยกเว้นฉันคิดว่ามันอาจเป็นการเชื่อมต่อของไดรฟ์ที่ไม่ดีมากกว่าใครก็ตามที่ลืมติดตั้งอะไร การตั้งค่าทั้งหมดนั้นไม่น่าเชื่อถือและฉันไม่แน่ใจว่าจะติดตั้งไดรฟ์ได้อย่างไร/media/DATA- ไม่ได้อยู่ใน/etc/fstabนั้น
biggvsdiccvs

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

7

ฉันใช้ 'ncdu' เป็นประจำสำหรับสิ่งนี้มันมีขนาดเล็กพอที่จะติดตั้งได้

sudo apt-get install ncdu

เพียงให้แน่ใจว่าคุณเรียกใช้มันเป็นรากหรือผ่าน sudo:

sudo ncdu /

1
แม้ว่าจะไม่ได้รับความช่วยเหลือในกรณีนี้
เจอรัลด์ชไนเดอร์

2

เมื่อคุณต้องการทราบว่ามีการใช้พื้นที่ว่างในระบบไฟล์ใดโดยเฉพาะคุณสามารถใช้คำสั่งนี้เพื่อค้นหา 20 ไดเรกทอรีที่ใหญ่ที่สุดซึ่งสามารถช่วยคุณค้นหาตำแหน่งที่ใช้พื้นที่มากที่สุด

du -m / |sort -n |tail -20

แต่ระบบไฟล์รูทนั้นยากกว่าเพราะระบบไฟล์ทั้งหมดติดตั้งที่รูท แต่อาร์กิวเมนต์ -x (--one-file-system) จะรายงานเฉพาะระบบไฟล์ที่ต้องการ

du -m -x / |sort -n |tail -20

1
df -h *.* 

อาจช่วยได้

สำรวจไดเรกทอรีและสรุปจำนวนไบต์ที่ใช้

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