ดิสก์เต็ม แต่ไม่พบไฟล์หรือโฟลเดอร์ขนาดใหญ่


20

เซิร์ฟเวอร์ Ubuntu แสดงให้ฉันเห็นว่าฉันใช้งานดิสก์ทั้งหมดอย่างเต็มที่:

Usage of /:   95.5% of 118.12GB

และฉันพยายามค้นหาโฟลเดอร์และไฟล์ขนาดใหญ่ให้เรียกใช้ ncdu:

ncdu 1.8 ~ Use the arrow keys to navigate, press ? for help                                                                                                                                                 
--- / ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    5.5GiB [##########] /root                                                                                                                                                                               
    2.3GiB [####      ] /var
  628.6MiB [#         ] /usr
  209.9MiB [          ] /lib
   28.2MiB [          ] /boot
    8.6MiB [          ] /bin
    7.7MiB [          ] /sbin
    6.6MiB [          ] /etc
  208.0KiB [          ] /run
  112.0KiB [          ] /tmp
   48.0KiB [          ] /opt
e  16.0KiB [          ] /lost+found
    8.0KiB [          ] /dev
    8.0KiB [          ] /media
    4.0KiB [          ] /lib64
e   4.0KiB [          ] /srv
e   4.0KiB [          ] /selinux
e   4.0KiB [          ] /mnt
e   4.0KiB [          ] /home
    0.0  B [          ] /proc
    0.0  B [          ] /sys
@   0.0  B [          ]  initrd.img
@   0.0  B [          ]  vmlinuz

ตามที่ncduผมใช้ประมาณ10 GiBของ128 GiB- มันเป็นเรื่องเกี่ยวกับ10 %มันเป็นเรื่องเกี่ยวกับ ความขัดแย้ง.

วิธีทำความสะอาดของฉัน ubutntu serverโดยไม่ต้องรีบูตเครื่องได้อย่างไร

ฉันคิดว่าncduอยู่และใช้แอปอื่นเพื่อค้นหาไฟล์และโฟลเดอร์ขนาดใหญ่ พวกเขาทั้งหมดแสดงผลลัพธ์เดียวกันกับncduทั้งหมดของพวกเขาแสดงให้เห็นผลเช่นเดียวกับ

และdf -hคำสั่งแสดงว่าดิสก์เต็ม

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda       119G  113G     0 100% /
udev            2.0G  8.0K  2.0G   1% /dev
tmpfs           788M  212K  788M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            2.0G     0  2.0G   0% /run/shm

ปรับปรุง

sudo du -sch /* ผล:

/# sudo du -sch /*
8.7M    /bin
29M /boot
8.0K    /dev
6.6M    /etc
4.0K    /home
0   /initrd.img
210M    /lib
4.0K    /lib64
16K /lost+found
8.0K    /media
4.0K    /mnt
48K /opt
du: cannot access `/proc/4470/task/4470/fd/4': No such file or directory
du: cannot access `/proc/4470/task/4470/fdinfo/4': No such file or directory
du: cannot access `/proc/4470/fd/4': No such file or directory
du: cannot access `/proc/4470/fdinfo/4': No such file or directory
0   /proc
5.0G    /root
212K    /run
7.8M    /sbin
4.0K    /selinux
4.0K    /srv
0   /sys
112K    /tmp
629M    /usr
2.3G    /var
0   /vmlinuz
8.1G    total

8.1G รวมตามปกติ แต่ฉันเห็นcannot accessแถวอาจมีปัญหาเพราะพวกเขา

/แล้วฉันจะตรวจสอบโฟลเดอร์ที่ใหญ่ที่สุดใน มันคือ/root:

/# sudo du -sch /root/*
96K /root/Downloads
2.5G    /root/Dropbox
36K /root/nohup.out
4.0K    /root/npm-debug.log
4.0K    /root/readonly
980K    /root/redis-2.6.16.tar.gz
228M    /root/tmp
2.7G    total

แค่คิดก็อาจตรวจสอบเนื้อหาของ / var / log / เพื่อดูว่าบันทึกใด ๆ เติบโตขึ้นอย่างเปิดเผยหรือไม่
Mordoc

/ var / log ประมาณ 2 GiB ไม่เป็นไร
Maxim Yefremov

1
ลองdu -sch /*ดูว่าไดเรกทอรีรากใดที่ใช้พื้นที่มากที่สุดและลงมาจากที่นั่นไปยังสถานที่ที่ใช้พื้นที่มากที่สุด
DopeGhoti

@DopeGhoti ฉันพยายาม แต่เห็นเหมือนกันเกี่ยวกับการ8.1 GiBเต็ม (เพิ่มเพื่อปรับปรุง) ไม่สามารถทราบได้ว่าที่เหลืออยู่ที่ไหน100 GiB
Maxim Yefremov

2
ฉันรู้ว่าคุณไม่ต้องการ แต่กัดกระสุนและรีบูต
douggro

คำตอบ:


13

ฉันพบปัญหาเดียวกันนี้ในเครื่องแล็บของเราและใช้คำสั่งนี้

du -sch .[!.]* * |sort -h

ฉันสามารถค้นหาไฟล์ที่ซ่อนอยู่ภายในถังขยะของผู้ใช้ที่พวกเขายังไม่ได้ลบ

เพิ่มเครดิตที่นี่ที่ฉันเคยพบคำตอบนี้


ทางออกที่น่าทึ่ง!
AivanF

5

ตรวจสอบไฟล์ที่ถูกลบซึ่งยังคงถูกเปิดอยู่โดยกระบวนการ:
sudo lsof | grep deleted | less

นั่นจะแสดง pid และ file descriptor ฉันมีปัญหานี้แน่นอนบนเซิร์ฟเวอร์ไม่มีอะไรncduนอกจากดิสก์เติม มันกลับกลายเป็นกระบวนการกลางคืนที่ย้ายไฟล์ไปยังการแชร์แซมบ้าแบบติดตั้งและบางครั้งก็ไม่ได้ปิดการจัดการไฟล์อย่างถูกต้องดูเหมือนว่า

หากคุณพบไฟล์ที่ถูกลบและต้องการล้างมันการบู๊ตอาจเป็นวิธีที่ง่ายที่สุดถ้ายอมรับได้ หรือคุณสามารถลองฆ่ากระบวนการ หรือหากคุณแน่ใจว่าไม่ได้ใช้งานคุณสามารถตั้งศูนย์ด้วยตนเองโดยใช้สิ่งต่อไปนี้:
> /proc/14487/fd/12


นี่คือปัญหาของฉัน Tomcat กำลังถือไฟล์ที่ถูกลบ 80GB การรีสตาร์ทนั้นเพียงพอที่จะแก้ไข
AFP_555

ฉันจะลบมันได้อย่างไรหากคำสั่ง "รีบูต" ยังไม่เพียงพอ
ประกายไฟ

4

คำสั่งต่อไปนี้จะแสดงการใช้ดิสก์สำหรับ / home directory ด้วย --max-depth = 1

user@linux:~$ sudo du -h -d 1 /

2

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


ข้อเสนอแนะใด ๆ ฉันคิดว่านี่อาจเป็นปัญหาของฉัน
Eliethesaiyan


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

1

เรามีปัญหาเดียวกันนี้และกลายเป็นรูปภาพนักเทียบท่าซึ่งจัดเก็บภายใต้ var / lib / docker

ncdu ไม่ได้แสดงรายการสิ่งเหล่านี้เนื่องจากผู้ใช้จะมองไม่เห็น แม้ใช้ ncdu ภายใต้ sudo ไม่ช่วย

คำสั่งนี้จะกำจัดภาพนักเทียบท่าที่มีอยู่ทั้งหมด ...

docker rmi $(docker images -a -q)


ปัญหาเดียวกันที่นี่ ที่จริงแล้วยังdocker system pruneไม่พบทุกสิ่ง คำสั่งนี้ (ซึ่งตัดลูกพรุนของระบบนักเทียบท่า) ทำหน้าที่หลอกลวง
jscharf

1
เมื่อเร็ว ๆ นี้เราได้ค้นพบว่าdocker system prune -a -fมันละเอียดมากขึ้น
Baldy

0

คุณสามารถเรียกใช้คำสั่งถัดไปเพื่อค้นหาไฟล์ที่ใหญ่ที่สุด 10 อันดับแรก:

find / -type f -printf '%s %p\n' 2>&1 
     | grep -v 'Permission denied' 
     | sort -nr 
     | head -10
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.