การใช้งานดิสก์ด้วย du และ ncdu
du (disk usage) เป็นคำสั่งมาตรฐานของ Linux ที่รายงานว่าไฟล์และไดเรกทอรีใช้พื้นที่ไปเท่าใด ส่วน ncdu เป็นทางเลือกแบบโต้ตอบที่ใช้ ncurses ซึ่งช่วยให้คุณเรียกดูผลลัพธ์และลบรายการต่างๆ ได้ เมื่อใช้ร่วมกับ df ซึ่งแสดงพื้นที่ว่างต่อระบบไฟล์ ทั้งสองคำสั่งนี้เป็นวิธีทั่วไปในการค้นหาว่าสิ่งใดทำให้ดิสก์เต็ม
1ตัวเลือกที่มีประโยชน์ของ du
du -sh /var จะแสดงผลรวมหนึ่งค่าในรูปแบบที่อ่านง่าย du -h --max-depth=1 / จะแสดงรายการขนาดของแต่ละไดเรกทอรีระดับบนสุด -x จะจำกัดการทำงานอยู่ภายในระบบไฟล์เดียว ดังนั้นดิสก์ที่เมาท์ไว้และ /proc จะถูกข้ามไป
การส่งผลลัพธ์ไปยังคำสั่ง sort จะช่วยค้นหารายการที่ใหญ่ที่สุด: du -xh --max-depth=1 / | sort -h
2ncdu
ncdu -x / จะสแกนระบบไฟล์รูทและเปิดรายการที่เรียกดูได้ซึ่งเรียงลำดับตามขนาด ใช้ปุ่มลูกศรเพื่อเลื่อน, Enter เพื่อเปิดโฟลเดอร์, 'd' เพื่อลบรายการที่เลือกหลังจากยืนยัน, และ 'q' เพื่อออก โดยปกติแล้ว ncdu จะติดตั้งจากแพ็กเกจของดิสทริบิวชัน (ตัวอย่างเช่น apt install ncdu)
3เมื่อ du และ df แสดงข้อมูลไม่ตรงกัน
หาก df รายงานว่าดิสก์เต็มแต่ du พบพื้นที่ใช้งานน้อยกว่า อาจเป็นไปได้ว่าไฟล์ที่ถูกลบไปแล้วยังคงถูกเปิดค้างไว้โดยกระบวนการที่กำลังทำงานอยู่ พื้นที่จะถูกคืนค่าเมื่อกระบวนการนั้นปิดไฟล์หรือรีสตาร์ท
วิธีค้นหาว่าสิ่งใดทำให้ดิสก์เต็ม
- ตรวจสอบว่าระบบไฟล์ใดเต็ม:
df -h - แสดงรายการโฟลเดอร์ระดับบนสุดที่ใหญ่ที่สุด:
sudo du -xh --max-depth=1 / | sort -h - เจาะลึกลงไปอีกหนึ่งระดับในโฟลเดอร์ที่ใหญ่ที่สุดแล้วทำซ้ำ
- หรือเรียกดูแบบโต้ตอบ:
sudo ncdu -x /
ข้อควรระวัง
- ห้ามลบไฟล์ที่คุณไม่รู้จักใน
/usr,/lib,/bootหรือ/var/lib - 'd' ใน ncdu จะลบทันทีหลังจากที่คุณยืนยัน โดยไม่มีถังขยะ
บทความที่เกี่ยวข้อง
- df (disk free)วิธีอ่านผลลัพธ์จากคำสั่ง df, เหตุผลที่ Use% อาจถึง 100% ก่อนที่ Avail จะเป็นศูนย์สำหรับผู้ใช้ทั่วไป และวิธีตรวจสอบ inode ด้วย df -i
- Inodes และ 'No space left on device'inode คืออะไร วิธีดูการใช้งาน inode ด้วย df -i และวิธีค้นหาไดเรกทอรีที่มีไฟล์ขนาดเล็กจำนวนมหาศาล
- การค้นหาไฟล์ขนาดใหญ่และไฟล์เก่าด้วย findวิธีใช้คำสั่ง find เพื่อแสดงรายการไฟล์ขนาดใหญ่หรือไฟล์เก่าบน Linux ดูตัวอย่างไฟล์อย่างปลอดภัย และลบเฉพาะไฟล์ที่คุณตรวจสอบแล้วเท่านั้น
แหล่งอ้างอิง
- du(1) man7.org
- ncdu(1) (Debian) manpages.debian.org
- df(1) man7.org
หมายเหตุ: RainServer มีบริการตรวจสอบและทำความสะอาดอย่างปลอดภัยสำหรับเซิร์ฟเวอร์ Linux โดยจะแสดงสิ่งที่กำลังจะเปลี่ยนแปลงและสอบถามก่อนดำเนินการ
ตรวจสอบล่าสุด: