ความสับสนในการใช้งานดิสก์: 10G หายไปบนพาร์ติชั่นโฮม Linux บน SSD


15

Linux Mint บอกฉันฉันมีพื้นที่ว่างบนดิสก์เพียง 622 MB แต่ควรมีกิกะไบต์เหลืออยู่บ้าง

ดูพาร์ทิชั่นที่ฉันบอกว่ามีประมาณสิบกิกะไบต์ไม่ได้ใช้ ฉัน googled ปัญหาและไม่พบวิธีแก้ปัญหา df -hแต่ฉันไม่พบคำแนะนำว่าผมควรจะตรวจสอบการใช้ดิสก์ที่มี

sudo df -h /home
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p8  189G  178G  622M 100% /home

ผลลัพธ์ไม่สมเหตุสมผลสำหรับฉัน: ความแตกต่างระหว่างSizeและUsedคือ 11GB แต่มันแสดงให้เห็น622Mว่าเป็นใช้ได้เท่านั้น

SSD ไม่เก่าดังนั้นฉันจะไม่คาดหวังความแตกต่างดังกล่าว

ฉันควรทำอย่างไรดี?


3
ตามที่ @Kusalananda แสดงความคิดเห็นคุณไม่ควรตั้งคำถามว่าทำไมคุณถึงไม่ได้รับ 10GB (ซึ่งฉันหวังว่าฉันจะตอบถูกต้องในคำตอบของฉัน) แต่ทำไมคุณใช้พื้นที่ส่วนใหญ่ในบ้าน ถ้าคุณรู้ว่าทำไม (เช่น: เก็บไฟล์มีเดียจำนวนมาก ฯลฯ ) ไม่เป็นไรถ้าคุณไม่ทำคุณควรกังวลเกี่ยวกับมันด้วยการทำความสะอาดที่เป็นไปได้ซึ่งจะช่วยประหยัดพื้นที่ได้มากกว่า 10GB แล้วมันจะเป็นอะไร?
AB

“ ดูพาร์ติชั่นที่ฉันบอกว่ามีประมาณสิบกิกะไบต์ไม่ได้ใช้” - คุณเคยบอกเรื่องนี้ที่ไหน?
ctrl-alt-delor

2
@ ctrl-alt-delor จากdfเอาต์พุตของ - ขนาด: 189G, ใช้แล้ว: 178G
billyjmc

@ ctrl-alt delor ฉันได้รูปที่ 10GB จาก gparted - และ 11G ต่อมาจากเอาต์พุตของ df เนื่องจาก billyjmc อนุมานได้อย่างถูกต้อง
tobiornottobi

คำตอบ:


22

หากระบบไฟล์เป็น ext4 จะมีบล็อกที่สงวนไว้ส่วนใหญ่จะช่วยในการจัดการและช่วยหลีกเลี่ยงการแตกแฟรกเมนต์และใช้ได้เฉพาะกับผู้ใช้รูท สำหรับการตั้งค่านี้สามารถเปลี่ยนแปลงได้แบบสดๆโดยใช้tune2fs (ไม่สามารถจัดการการตั้งค่าทั้งหมดได้เช่นนี้เมื่อติดตั้งระบบไฟล์):

-m ลิขสิทธิ์บล็อกร้อยละ

ตั้งค่าเปอร์เซ็นต์ของระบบไฟล์ซึ่งอาจได้รับการจัดสรรโดยกระบวนการพิเศษ การสำรองจำนวนบล็อกระบบไฟล์จำนวนหนึ่งเพื่อใช้โดยกระบวนการที่มีสิทธิพิเศษจะทำเพื่อหลีกเลี่ยงการแตกแฟรกเมนต์ของระบบไฟล์และเพื่ออนุญาตให้ daemons ของระบบเช่น syslogd (8) สามารถทำงานต่อได้อย่างถูกต้องหลังจากกระบวนการที่ไม่ได้รับสิทธิพิเศษ โดยปกติแล้วเปอร์เซ็นต์เริ่มต้นของบล็อกที่สงวนไว้คือ 5%

ดังนั้นหากคุณต้องการลดการจองลงเหลือ 1% (~ 2GB) ดังนั้นการเข้าถึงพื้นที่ที่สงวนไว้ไม่เกิน ~ 8GB คุณสามารถทำได้ดังนี้:

sudo tune2fs -m 1 /dev/nvme0n1p8

หมายเหตุ: -mตัวเลือกยอมรับตัวเลขทศนิยมเป็นพารามิเตอร์ คุณสามารถใช้-m 0.1เพื่อจองเพียงประมาณ ~ 200MB (และเข้าถึงส่วนใหญ่ที่ไม่พร้อมใช้งานก่อนหน้านี้ 10GB) คุณยังสามารถใช้-rตัวเลือกแทนการจองโดยตรงโดยบล็อก อาจไม่แนะนำให้มีบล็อกที่สงวนไว้ 0 รายการ


3
ผู้ใช้ไม่ได้ "รับคืน" 8 GB มีการใช้จ่ายเพิ่มขึ้น 8 GB มันจะดีกว่าที่จะติดตามสิ่งที่ใช้พื้นที่ดิสก์ทั้งหมดและจากนั้นอาจทำการล้างข้อมูลนั้นถ้าเหมาะสมหรือย้ายอย่างอื่นไปที่อื่นหรือขยายพาร์ติชัน
Kusalananda

1
@ Kusalananda ฉันจะเปลี่ยนคำศัพท์ สำหรับการใช้งานฉันต้องการความคิดเห็นจาก OP คำถามไม่เคยบอกใบ้ว่ามีการใช้งานสูงที่ไม่รู้จัก แต่หายไปเพียง 10GB
AB

1
คำตอบที่ดีและเป็นประโยชน์ขอบคุณ 5% ดูเหมือนจะตรงกับ 10 กิกะไบต์ที่หายไปอย่างชัดเจน ฉันไม่ได้กังวลเกี่ยวกับการใช้พื้นที่ดิสก์โดยรวมและฉันยังสามารถขยายพาร์ติชันของฉันได้ :)
tobiornottobi

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

@marcelm ที่เหมาะสมกับฉัน แต่มันยังมีประโยชน์สำหรับพาร์ติชั่น / home บน SSD หรือมันเป็นเพียงแค่เปลืองเนื้อที่? คุณจะแนะนำให้ลดรูทที่สงวนไว้ให้เหลือ 1% หรือไม่?
tobiornottobi

8

ไฟล์ที่ถูกลบสามารถมีส่วนร่วมใน "พื้นที่ว่าง"

lsof | grep deleted | grep /home

ส่งกลับผลลัพธ์นี้สำหรับฉัน

chrome    11181           criggie   15u      REG              254,0   
4194304  50651663 /home/criggie/.config/google-chrome/BrowserMetrics/BrowserMetrics-5D0236AF-2BAD.pma (deleted)

ซึ่งแสดงให้เห็นว่า Chrome ทำงานเป็น PID 11181 เปิดไฟล์ BrowserMetrics แล้วลบมันและยังเปิดไฟล์ ซึ่งหมายความว่าไฟล์จะไม่ปรากฏในรายการไดเรกทอรี แต่ยังคงใช้พื้นที่ว่างในดิสก์

ทำไมโปรแกรมถึงทำเช่นนี้? เมื่อไบนารีที่กำลังรันหยุดทำงานระบบปฏิบัติการจะปล่อยหมายเลขอ้างอิงไฟล์เปิดและไฟล์บนดิสก์จะหายไปโดยไม่มีความเสี่ยงในการปล่อยไฟล์ชั่วคราวค้างไว้

สิ่งที่ฉันไม่เห็นคือการใช้งานดิสก์ของไฟล์นั้นมีขนาดใหญ่เพียงใด


2
โปรแกรมที่เขียนดีส่วนใหญ่ไม่ควรทำเช่นนี้ มันเป็นข้อผิดพลาดและควรได้รับการรายงานว่าข้อบกพร่องที่คลุมเครือเหล่านี้ส่วนใหญ่จะไม่ปรากฏจนกว่าคุณจะอยู่ในช่วงการปรับให้เหมาะสมที่สุดและหากเป็นสิ่งที่ถูกปิดอยู่ก็อาจตรวจไม่พบเลยในระหว่างการทดสอบ โปรดทราบว่าอาจมีเหตุผลที่เฉพาะเจาะจงว่าทำไมพวกเขาถึงทำเช่นนี้อาจมีเหตุผลที่ฉันไม่ทราบที่นี่เพื่อให้การจัดการเปิดนานนี้
Drunken Code Monkey

4
@DrunkenCodeMonkey Dude - Chrome ... คุณถูกต้องทั้งหมด
Criggie

4
@DrunkenCodeMonkey เป็นโปรแกรมที่เขียนขึ้นมาอย่างดีมากมาย รูปแบบการเปิด - ปิด - ปิดสำหรับการสร้างไฟล์ชั่วคราวบน * nix เกือบเป็นสากลเพราะมันรับประกันว่าไฟล์จะถูกลบเมื่อโปรแกรมออกโดยไม่คำนึงว่าจะออกจาก: การยุติแบบปกติการหยุดทำงานถูกทำลายโดยหน่วยความจำหมดฆ่า โดยไฟฟ้าขัดข้อง ฯลฯ
Mark

3
@DrunkenCodeMonkey จะเกิดอะไรขึ้นถ้าโปรแกรมไม่เคยทำ
leftaroundabout

3
@DrunkenCodeMonkey: รูปแบบคือเปิด delete- ทำงาน -close หากโปรแกรมยังคงทำอะไรบางอย่างกับเนื้อหาของไฟล์ชั่วคราว (เช่นใช้เป็นแคชในดิสก์หรือบันทึกข้อมูล telemetry ลงไปในนั้น) แน่นอนว่ามันต้องเปิดอยู่ (แน่นอนว่ามันอาจเป็นไปได้ว่านี่เป็นตัวจัดการไฟล์ที่ไม่มีการเปิดเผยที่โปรแกรมควรปิด แต่ไม่ได้ แต่เนื่องจากมีไฟล์ดังกล่าวเพียงไฟล์เดียวเท่านั้น ฉันจะเริ่มต้นด้วยการสันนิษฐานว่าไฟล์น่าจะถูกเปิดไว้อย่างตั้งใจ)
Ilmari Karonen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.