- 1 1. ความรู้เบื้องต้นที่จำเป็น: โครงสร้างการจัดเก็บและการเมานท์ใน Linux/Ubuntu
- 2 2. คำสั่งพื้นฐานเพื่อตรวจสอบความจุ
- 3 3. การตรวจสอบการใช้ดิสก์ด้วย GUI (Ubuntu Desktop)
- 4 4. ขั้นตอนการตรวจสอบและวิธีแก้ไขเมื่อพื้นที่ดิสก์ต่ำ
- 4.1 4.1 การรับรู้อาการพื้นที่ต่ำ
- 4.2 4.2 ขั้นตอนที่ 1: ดูภาพรวมการใช้ (df)
- 4.3 4.3 ขั้นตอนที่ 2: ค้นหาไดเรกทอรีที่ใช้พื้นที่ (du)
- 4.4 4.4 ขั้นตอนที่ 3: ลบไฟล์และแคชที่ไม่จำเป็น
- 4.5 4.5 ขั้นตอนที่ 4: ลดการอุดตันจากแอปพลิเคชันและบันทึก
- 4.6 4.6 ขั้นตอนที่ 5: แก้ไขอย่างพื้นฐานโดยการขยายหรือเพิ่มดิสก์
- 4.7 4.7 การตรวจสอบเป็นประจำเพื่อป้องกันการเกิดซ้ำ
- 4.8 4.8 สรุป: การให้ความสำคัญกับมาตรการประหยัดพื้นที่
- 5 5. เคล็ดลับขั้นสูง (เทคนิคที่เป็นประโยชน์ & ข้อควรระวัง)
- 5.1 5.1 ทำการตรวจสอบดิสก์เป็นประจำโดยอัตโนมัติ
- 5.2 5.2 คำสั่งหนึ่งบรรทัดเพื่อค้นหาไฟล์ขนาดใหญ่
- 5.3 5.3 สร้าง alias สำหรับคำสั่งที่ใช้บ่อย
- 5.4 5.4 ตรวจสอบการเปลี่ยนแปลงการใช้ดิสก์อย่างต่อเนื่อง (monitoring)
- 5.5 5.5 ระวังอุปสรรคด้านสิทธิ์
- 5.6 5.6 พิจารณาสภาพแวดล้อม SSD/HDD
- 5.7 5.7 ทำให้การจัดการความจุเป็นระบบเพื่อป้องกันการเกิดซ้ำ
- 5.8 สรุป
- 6 6. FAQ (คำถามที่พบบ่อย)
- 6.1 Q1. วิธีง่าย ๆ ในการตรวจสอบพื้นที่ว่างปัจจุบันบน Ubuntu คืออะไร?
- 6.2 Q2. จะตรวจสอบการใช้ดิสก์ตามไดเรกทอรีได้อย่างไร?
- 6.3 Q3. ความแตกต่างระหว่าง df กับ du คืออะไร?
- 6.4 Q4. จะตรวจสอบพื้นที่ว่างผ่าน GUI ได้อย่างไร?
- 6.5 Q5. หากได้รับคำเตือน “ดิสก์เต็ม” ควรลบอะไรก่อน?
- 6.6 Q6. ฉันได้ยินว่าแอป Snap สามารถทำให้พื้นที่ดิสก์บวมโตได้ ฉันจะทำอย่างไร?
- 6.7 Q7. ฉันควรทำอย่างไรเมื่อ /var หรือ /home ใหญ่เกินไป?
- 6.8 Q8. การรัน du ใช้เวลานาน มีวิธีเร่งความเร็วไหม?
- 6.9 Q9. ฉันจะป้องกันไม่ให้พื้นที่หมดอีกได้อย่างไร?
- 6.10 Q10. ตัวเลือกของฉันสำหรับการขยายที่เก็บข้อมูลคืออะไร?
- 6.11 Q11. ฉันสามารถตรวจสอบการใช้งานดิสก์โดยไม่ต้องมีสิทธิ์ root ได้ไหม?
- 6.12 Q12. ฉันตรวจสอบที่เก็บข้อมูลบนระบบ headless (เซิร์ฟเวอร์) ได้อย่างไร?
- 6.13 Q13. มีความเสี่ยงในการทำลายระบบขณะตรวจสอบที่เก็บข้อมูลไหม?
- 6.14 Q14. มีเคล็ดลับซ่อนเร้นในการประหยัดพื้นที่ไหม?
- 6.15 Q15. เครื่องมือแนะนำสำหรับการตรวจสอบการใช้งานดิสก์คืออะไร?
- 6.16 Summary
1. ความรู้เบื้องต้นที่จำเป็น: โครงสร้างการจัดเก็บและการเมานท์ใน Linux/Ubuntu
เมื่อทำการตรวจสอบความจุของพื้นที่จัดเก็บบน Ubuntu (และระบบปฏิบัติการที่ใช้ Linux ส่วนใหญ่) มีโครงสร้างพื้นฐานบางอย่างที่คุณต้องเข้าใจอย่างถูกต้อง ส่วนนี้จัดระเบียบแนวคิดที่มักทำให้สับสน:
- ความหมายของอุปกรณ์และพาร์ทิชัน
- การเมานท์และจุดเมานท์
- พื้นฐานของ LVM (Logical Volume Management)
- การตั้งค่ามาตรฐานของ Ubuntu
เราจะอธิบายแต่ละประเด็นทีละขั้นตอน
1.1 พื้นฐานของอุปกรณ์และพาร์ทิชัน
อุปกรณ์ (ดิสก์ฟิสิคัลและลอจิก)
ใน Linux แต่ละอุปกรณ์จัดเก็บจะถูกมองว่าเป็น ไฟล์อุปกรณ์ ตัวอย่างเช่น HDD, SSD, USB drive ฯลฯ จะปรากฏเป็น /dev/sda, /dev/sdb, /dev/nvme0n1 เป็นต้น
ตัวอักษรสุดท้าย (a, b, c…) แสดงลำดับที่ระบบตรวจพบอุปกรณ์
พาร์ทิชัน
อุปกรณ์ฟิสิคัลหนึ่งชิ้นสามารถใช้ได้โดยตรง แต่โดยทั่วไปจะทำการแบ่งออกเป็นหลายส่วนลอจิก (พาร์ทิชัน) การพาร์ทิชันทำให้คุณแยกระบบปฏิบัติการ, ข้อมูล, log ฯลฯ เพื่อการจัดการที่ง่ายขึ้น
ตัวอย่างเช่น /dev/sda1, /dev/sda2 หมายถึงพาร์ทิชันแรกและพาร์ทิชันที่สองบนอุปกรณ์ sda ระบบไฟล์จะถูกสร้างบนแต่ละพาร์ทิชันและข้อมูลจริงจะถูกเก็บไว้ที่นั่น
(ตัวอย่างการอธิบายพาร์ทิชันใน Linux) Engineer’s Entrance
พาร์ทิชันใช้รูปแบบตารางพาร์ทิชันเช่น MBR (เก่า) หรือ GPT (ใหม่) ซึ่งแต่ละแบบมีข้อจำกัดและข้อได้เปนเอง
1.2 การเมานท์และจุดเมานท์
เมานท์
เพื่อให้ระบบไฟล์สามารถใช้งานได้ คุณต้อง เมานท์ มัน—คือเชื่อมพาร์ทิชัน (หรือ logical volume) กับไดเรกทอรีเฉพาะ (จุดเมานท์) หากไม่ได้เมานท์ คุณจะไม่สามารถเข้าถึงข้อมูลบนพาร์ทิชันนั้นได้
เช่น แม้ว่า /dev/sda1 จะมีระบบไฟล์ ext4 อยู่ คุณต้องรันคำสั่งต่อไปนี้ก่อนจึงจะทำงานภายใต้ /mnt/data ได้
bash
mount /dev/sda1 /mnt/data
จุดเมานท์
ไดเรกทอรีที่คุณเมานท์ระบบไฟล์เข้าไปเรียกว่า จุดเมานท์ ตัวอย่างทั่วไป:
/– root, จุดเริ่มต้นของระบบทั้งหมด/home– ไดเรกทอรีโฮผู้ใช้/var– log, แคช, ข้อมูลที่เปลี่ยนแปลงบ่อย/boot– ไฟล์ที่เกี่ยวกับการบูต
การกำหนดพาร์ทิชันต่าง ๆ ให้กับจุดเมานท์ที่ต่างกันเป็นแนวปฏิบัติที่พบได้บ่อย
ใน Ubuntu และ Linux ส่วนใหญ่ ไฟล์ /etc/fstab จะระบุว่า “อุปกรณ์/UUID ใดเมานท์ที่ไหน (โดยอัตโนมัติเมื่อบูต)”
1.3 ภาพรวมของ LVM (Logical Volume Management)
การพาร์ทิชันแบบดั้งเดิมอาจทำให้การเปลี่ยนแปลงในภายหลังทำได้ยาก LVM (Logical Volume Manager) จึงถูกออกแบบมาแก้ปัญหานี้
ส่วนประกอบหลักของ LVM
- Physical Volume (PV) – ดิสก์ฟิสิคัลหรือพาร์ทิชัน
- Volume Group (VG) – รวม PV หลายตัวเป็นพูลขนาดใหญ่หนึ่งเดียว
- Logical Volume (LV) – ส่วนที่ดึงมาจาก VG; ระบบไฟล์จะถูกสร้างบน LV
โครงสร้างนี้ทำให้คุณสามารถขยายหรือย่อขนาด logical volume ได้ในภายหลัง หรือเพิ่มดิสก์ฟิสิคัลเข้าไปในพูลได้
ข้อดีและข้อควรระวังของ LVM
ข้อดี
- ปรับขนาดได้อย่างยืดหยุ่น
- รวมดิสก์หลายตัวเป็นพูลเดียว
- สร้าง snapshot เพื่อสำรองข้อมูลได้ง่าย
ข้อควรระวัง
- ซับซ้อนกว่าในการตั้งค่าและใช้งาน
- มีความเสี่ยงต่อการสูญเสียข้อมูลหากจัดการไม่ถูกต้อง
- ขั้นตอนการขยายแตกต่างจากการตั้งค่าแบบไม่ใช้ LVM
ตัวติดตั้งของ Ubuntu มักจะมีตัวเลือก LVM ให้เลือก แต่ผู้ใช้หลายคนอาจเลือกไม่ใช้ตามความต้องการของตน
1.4 การตั้งค่ามาตรฐานของ Ubuntu
รูปแบบที่แน่นอนอาจแตกต่างกันไป แต่รูปแบบที่พบบ่อยมีดังนี้
รูปแบบพาร์ทิชันเดียว (Simple)
ไฟล์ทั้งหมดอยู่ภายใต้ root (/) ง่ายต่อการตั้งค่าเริ่มต้น แต่การแยกหรือขยายในภายหลังอาจทำได้ยาก
ตัวอย่างรูปแบบแยกพาร์ทิชัน
/– ไฟล์ระบบ/home– ข้อมูลผู้ใช้/var– log และข้อมูลที่เปลี่ยนแปลงบ่อย/boot– ไฟล์บูตโหลดเดอร์- Swap (พาร์ทิชัน swap หรือไฟล์ swap)
การแยกส่วนเหล่านี้ช่วยป้องกันไม่ให้ log หรือแคชเติบโตจนเต็มระบบทั้งหมด
LVM + Logical Volumes
การตั้งค่าขั้นสูงกว่า:
- ดิสก์ฟิสิคัล → PV
- PV หลายตัว → VG
/,/home,/varฯลฯ → LV แยกกัน- สามารถเพิ่มหรือขยาย LV ได้ตามต้องการในภายหลัง
ด้วย LVM คุณสามารถเพิ่มดิสก์หรือขยาย logical volume ได้อย่างยืดหยุ่น
2. คำสั่งพื้นฐานเพื่อตรวจสอบความจุ
บน Ubuntu การใช้บรรทัดคำสั่งเป็นวิธีที่เชื่อถือได้และยืดหยุ่นที่สุดในการตรวจสอบการใช้ดิสก์ แม้บนเซิร์ฟเวอร์แบบไม่มีหน้าจอ (headless) คุณก็สามารถดูได้อย่างชัดเจนว่าดิสกใดถูกใช้และไดเรกทอรีใดใช้พื้นที่
ด้านล่างนี้เป็นคำสั่งหลัก df และ du พร้อมเครื่องมือช่วยเหลือบางอย่าง
2.1 การตรวจสอบไฟล์ซิสเต็มทั้งหมดด้วย df
สิ่งที่ df ทำ
df (disk free) แสดงพื้นที่รวม, ที่ใช้แล้ว, และที่เหลือสำหรับแต่ละไฟล์ซิสเต็ม มันเป็นวิธีที่นิยมที่สุดในการตรวจสอบความจุบน Linux
การใช้งานพื้นฐาน
df -h
คำสั่งนี้จะแสดงรายการไฟล์ซิสเต็มทั้งหมดในหน่วยที่ “อ่านง่าย” (K, M, G) คอลัมน์หลัก:
| Column | Meaning |
|---|---|
| Filesystem | Device name (e.g., /dev/sda1) |
| Size | Total size of the filesystem |
| Used | Space already used |
| Avail | Free space remaining |
| Use% | Percentage used |
| Mounted on | Mount point (e.g., /, |
| Option | Description |
|---|---|
-h | Display sizes in MB/GB units (handy for a quick view) |
-T | Also show the filesystem type (e.g., ext4, xfs) |
--total | Append a total line at the end |
df -h /home | Show only the filesystem that contains the specified directory |
ตัวอย่าง
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 100G 55G 40G 59% /
/dev/sda1 512M 120M 392M 24% /boot
tmpfs 16G 32M 16G 1% /run
จากผลลัพธ์นี้คุณสามารถมองเห็นได้ทันทีว่าพื้นที่แต่ละส่วนใช้ไปเท่าไหร่
หมายเหตุ
- พาร์ทิชันที่ไม่ได้เมานท์ จะไม่ปรากฏในผลลัพธ์ของ
df - หากแพคเกจ Snap (
/var/lib/snapd/snaps) ใช้พื้นที่ คุณจะต้องตรวจสอบแยกต่างหาก - จุดเมานท์บางจุดจะมองไม่เห็นหากไม่มีสิทธิ์ root
2.2 การตรวจสอบการใช้พื้นที่ระดับไดเรกทอรีด้วยคำสั่ง du
ภาพรวมของ du
du (disk usage) เป็นคำสั่งที่ รายงานขนาดของไดเรกทอรีและไฟล์
ขณะที่ df ให้ภาพรวมทั้งหมด du ช่วยให้คุณทราบว่า “สิ่งที่หนักที่สุดอยู่ที่ไหน”
การใช้งานพื้นฐาน
du -sh /home
ในตัวอย่างนี้ การใช้พื้นที่ทั้งหมดของไดเรกทอรี /home จะแสดงในรูปแบบ “อ่านง่าย” (-h)
ตัวเลือกทั่วไป
| Option | Description |
|---|---|
-s | Show only the total (suppress details) |
-h | Auto‑scale units for readability |
--max-depth=1 | List usage of items directly under the specified directory |
-c | Show a grand total at the end |
--exclude=PATTERN | Exclude specific folders (e.g., caches) |
ตัวอย่าง (การเปรียบเทียบโดยรวม)
sudo du -h --max-depth=1 /var
ตัวอย่างผลลัพธ์:
1.2G /var/log
2.5G /var/lib
800M /var/cache
4.5G /var
สิ่งนี้ทำให้คุณเห็นได้อย่างรวดเร็วว่าโฟลเดอร์ใดใช้พื้นที่
ขั้นสูง: เรียงตามขนาด
โดยการรวม du กับ sort คุณสามารถระบุตำแหน่งไดเรกทอรีขนาดใหญ่ได้อย่างง่ายดาย
sudo du -hsx /* | sort -rh | head -10
คำสั่งนี้คำนวณการใช้ของแต่ละโฟลเดอร์ระดับบนและแสดง 10 อันดับแรก
มันมีประสิทธิภาพมากในการตามหาตัว “กินพื้นที่” ทั่วระบบ
หมายเหตุ
- โครงสร้างไดเรกทอรีที่ลึกอาจใช้เวลาประมวลผลนาน
- หากไม่มีสิทธิ์ root บางไดเรกทอรีจะไม่รายงานขนาดที่แม่นยำ
- แม้บน SSD ที่เร็ว การวัดหลายสิบกิกะไบต์อาจใช้หลายนาที
2.3 คำสั่งและเครื่องมือช่วยเหลืออื่น ๆ ที่เป็นประโยชน์
lsblk: ดูโครงสร้างอุปกรณ์บล็อก
lsblk
lsblk แสดงอุปกรณ์ดิสก์และโครงสร้างพาร์ทิชันในรูปแบบต้นไม้
เป็นวิธีที่สะดวกในการเชื่อมโยงขนาดกับจุดเมานท์แบบภาพ
ตัวอย่าง:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 512M 0 part /boot
└─sda2 8:2 0 99.5G 0 part /
ncdu: ตัววิเคราะห์การใช้ดิสก์แบบโต้ตอบ
หากคุณต้องการอินเทอร์เฟซที่เข้าใจง่ายกว่าการใช้ du ลอง ncdu (NCurses Disk Usage)
ติดตั้งด้วย:
sudo apt install ncdu
เรียกใช้:
sudo ncdu /
ใช้ปุ่มลูกศรเพื่อขยายและยุบโฟลเดอร์และดูว่าไดเรกทอรีใดใช้พื้นที่
เนื่องจากทำงานโดยไม่ต้องใช้ GUI จึงเป็นที่นิยมบนเซิร์ฟเวอร์และเวิร์กสเตชัน
การรวมกับ find
เพื่อค้นหาไฟล์ที่ใหญ่ที่สุดเท่านั้น ให้ใช้ find:
sudo find / -type f -size +1G
คำสั่งนี้ค้นหาไฟล์ทั้งหมดที่ใหญ่กว่า 1 GB ช่วยให้คุณระบุไฟล์ขนาดใหญ่ที่ไม่จำเป็น เช่น ไฟล์บันทึกหรืออิมเมจของเครื่องเสมือน
2.4 ควรใช้วิธีใด? (สรุปการเปรียบเทียบ)
| Goal | Example command | Characteristics |
|---|---|---|
| Check overall free space | df -h | Shows usage per filesystem |
| Find size of a specific folder | du -sh /path | Displays detailed size |
| Locate space‑eaters | du -hsx /* | sort -rh | Sorts directories by size |
| View device layout | lsblk | Visualizes partition relationships |
| Find large files | find / -type f -size +1G | Filters by size condition |
3. การตรวจสอบการใช้ดิสก์ด้วย GUI (Ubuntu Desktop)
Ubuntu มีเครื่องมือกราฟิกที่ช่วยให้คุณดูการใช้ดิสก์โดยไม่ต้องเปิดเทอร์มินัล ด้านล่างนี้เป็นสองวิธีที่พบบ่อย
- File Manager (Nautilus) ที่มาพร้อมระบบ
- Disk Usage Analyzer (Baobab)
เราจะดูคุณลักษณะและวิธีการใช้แต่ละอย่าง
3.1 การตรวจสอบพื้นที่ว่างด้วย File Manager (Nautilus)
วิธีเริ่มต้นของ Ubuntu
หากคุณใช้ Ubuntu Desktop วิธีที่ง่ายที่สุดในการดูพื้นที่ดิสก์คือเปิด File Manager (Nautilus)
- คลิกไอคอน Files ในท่าเรือด้านซ้าย (ตัวเปิดใช้งานแอปพลิเคชัน)。
- ดูที่ status bar ที่มุมบนขวาหรือล่างซ้ายของหน้าต่าง。
- คุณจะเห็นบางอย่างเช่น “xx GB of yy GB used” หรือ “zz GB free。”
นี่จะให้มุมมองทันทีของพื้นที่ว่างของไดรฟ์ระบบ。
ดูรายละเอียดผ่าน Properties
คลิกขวาที่โฟลเดอร์หรือไอคอนไดรฟ์และเลือก Properties。
กล่องโต้ตอบจะแสดงพื้นที่ที่ใช้และว่างสำหรับโฟลเดอร์นั้นโดยเฉพาะ ซึ่งมีประโยชน์สำหรับการตรวจสอบไดเรกทอรีเช่น /home หรือ /Downloads。
ข้อดีและข้อเสีย
| Pros | Cons |
|---|---|
| One‑click, very easy | Hidden or system areas are not obvious |
| Beginner‑friendly | Doesn’t reveal /var/log, system partitions, etc. |
GUI ดีสำหรับการ “รู้สึก” อย่างรวดเร็วของการใช้งานโดยรวม แต่สำหรับการวิเคราะห์ลึกคุณจะต้องการ Baobab。
3.2 Disk Usage Analyzer (Baobab)
Baobab คืออะไร?
Baobab (Disk Usage Analyzer) เป็นยูทิลิตี้กราฟิกที่สแกนระบบไฟล์ของคุณและนำเสนอผลลัพธ์เป็น treemap แบบโต้ตอบหรือแผนภูมิวงแหวน มันช่วยให้คุณค้นหาไดเรกทอรีและไฟล์ขนาดใหญ่ได้อย่างรวดเร็วด้วยภาพรวมแบบภาพ。
การติดตั้ง
sudo apt install baobab
การเปิดใช้งาน
คุณสามารถเริ่มจากเมนูแอปพลิเคชัน (ค้นหา “Disk Usage Analyzer”) หรือรัน:
baobab
วิธีใช้
- เลือกตำแหน่งที่จะสแกน (เช่น “Home Folder,” “Filesystem,” หรือเส้นทางที่กำหนดเอง)。
- หลังจากสแกนเสร็จ treemap จะแสดงแต่ละโฟลเดอร์เป็นสี่เหลี่ยมขนาดตามสัดส่วนการใช้พื้นที่。
- วางเมาส์หรือคลิกสี่เหลี่ยมเพื่อดูขนาดและเส้นทางที่แน่นอน。
- คลิกขวาที่โฟลเดอร์เพื่อเปิดในตัวจัดการไฟล์หรือลบโดยตรง。
เพราะ Baobab ทำงานโดยไม่ต้องมีสภาพแวดล้อมเดสก์ท็อปเต็มรูปแบบ มันจึงมีประโยชน์ในรสชาติ Ubuntu แบบเบาๆ ด้วย。
ประโยชน์
- การนำเสนอแบบภาพและเข้าใจง่ายของการใช้ดิสก์。
- การนำทางที่ง่ายไปยังผู้บริโภคพื้นที่ที่ใหญ่ที่สุด。
- ไม่ต้องจำตัวเลือก command-line。
ข้อจำกัด
- การสแกนระบบไฟล์ขนาดใหญ่อาจใช้เวลาสองสามนาที。
- ต้องการเซสชันกราฟิก (ไม่เหมาะสำหรับเซิร์ฟเวอร์ headless)。
Baobab (ชื่ออย่างเป็นทางการ: Disk Usage Analyzer) เป็นเครื่องมือกราฟิกที่ใช้ได้ตามค่าเริ่มต้นบน Ubuntu ที่แสดงภาพว่าทุกโฟลเดอร์ใช้พื้นที่เท่าไหร่ด้วย pie charts and treemaps。
มันถูกติดตั้งตามค่าเริ่มต้นบนระบบส่วนใหญ่ แต่ถ้าไม่มีคุณสามารถเพิ่มด้วย:
sudo apt install baobab
วิธีเปิดใช้งาน
- ค้นหา “Disk Usage” ใน Activities (แถบค้นหาด้านบนซ้าย)
- คลิก Disk Usage Analyzer (Baobab) เพื่อเริ่ม
- หลังจากเปิด เลือก Scan Folder หรือ Scan Whole Filesystem
หลังจากสแกนสั้นๆ แผนภูมิวงกลมหรือมุมมองต้นไม้จะแสดงการใช้งานของแต่ละไดเรกทอรีแบบภาพ。
มุมมองตัวอย่าง (Image)
- ยิ่งไปไกล ยิ่งลึกในลำดับชั้นไดเรกทอรี
- ขนาดของแต่ละส่วนแสดงโดยพื้นที่ของชิ้นส่วนวงกลม
ตัวบ่งชี้ภาพทำให้ง่ายต่อการเห็น โฟลเดอร์ไหนที่บวม ในทันที。
คุณสมบัติหลัก
| Feature | Description |
|---|---|
| Specify Scan Target | You can limit the scan to a specific directory such as /home |
| Tree View | Browse the folder structure and sizes in a list |
| Identify Unneeded Files | Spot large folders instantly |
| Right‑click → Open | Open the selected directory directly in the file manager |
ประโยชน์และข้อควรระวัง
ประโยชน์
- การแสดงแบบกราฟิกทำให้เข้าใจง่ายสำหรับมือใหม่
- ช่วยตัดสินใจว่าจะลบหรือจัดเรียงใหม่อะไร
- การรันเป็น root ช่วยให้วิเคราะห์พาร์ติชันระบบได้ด้วย
ข้อควรระวัง
- การสแกนระบบทั้งหมดอาจใช้เวลา
- ข้อจำกัดสิทธิ์อาจป้องกันการวัดที่แม่นยำของบางโฟลเดอร์
- ดิสก์ขนาดใหญ่สามารถเพิ่มการใช้หน่วยความจำขณะสแกน
3.3 การตรวจสอบข้อมูลดิสก์ด้วย GNOME Disks
Ubuntu ยังรวมแอปมาตรฐาน GNOME Disks (Disk Utility) ด้วย。
มันช่วยให้คุณตรวจสอบ โครงสร้างดิสก์เอง แสดงมากกว่าแค่พื้นที่ว่าง:
- ชื่ออุปกรณ์ (เช่น
/dev/sda) - ประเภทระบบไฟล์ (ext4, NTFS, ฯลฯ)
- จุดเมานต์
- กราฟการใช้งาน
วิธีเปิด:
- ค้นหา “Disks” ใน Activities
- เปิด GNOME Disks
- เลือกดิสก์จากรายการด้านซ้าย
เกจภาพแสดงการใช้งาน ให้ข้อมูลเดียวกับ df ในรูปแบบกราฟิก。
3.4 เมื่อไหร่ควรใช้ GUI เทียบกับ Command Line
บนเดสก์ท็อป Ubuntu เครื่องมือ GUI มักเพียงพอสำหรับการจัดการที่เก็บข้อมูล。
อย่างไรก็ตาม สำหรับ การแก้ไขปัญหาที่แม่นยำหรือการดูแลเซิร์ฟเวอร์ เครื่องมือ command-line เช่น df และ du เป็นสิ่งจำเป็น。
| Situation | Recommended Tool |
|---|---|
| Quick check of free space | File manager (Nautilus) |
| Find large folders | Baobab (Disk Usage Analyzer) |
| Inspect device layout | GNOME Disks |
| Server or remote environment | df, du, lsblk, ncdu |
3.5 ถ้าไม่มี GUI (ผู้ใช้เซิร์ฟเวอร์)
หากคุณกำลังใช้ Ubuntu Server หรือสภาพแวดล้อมอื่นที่ไม่มี GUI Baobab และโปรแกรมจัดการไฟล์จะไม่สามารถใช้งานได้
ในกรณีนั้น ให้พึ่งพาคำสั่ง df, du และ ncdu ที่ได้แนะนำไว้ก่อนหน้า; พวกมันให้การวิเคราะห์พื้นที่จัดเก็บแบบข้อความที่ละเอียด
สรุป
การใช้ GUI ช่วยให้คุณตรวจสอบพื้นที่จัดเก็บและระบุตำแหน่งที่ต้องทำความสะอาด ด้วยเพียงไม่กี่คลิก
โดยเฉพาะ Baobab เป็นเครื่องมือสำคัญที่ผู้ใช้ทุกระดับจากผู้เริ่มต้น Ubuntu ถึงผู้ใช้ระดับสูงใช้กัน
โดยการผสมผสานวิธีการที่อธิบายในบทนี้ การตรวจสอบพื้นที่จัดเก็บประจำวันจะง่ายขึ้นมาก
4. ขั้นตอนการตรวจสอบและวิธีแก้ไขเมื่อพื้นที่ดิสก์ต่ำ
เมื่อเวลาผ่านไป การใช้งานระยะยาวและการอัปเดตแพคเกจสะสมสามารถทำให้พื้นที่ดิสก์บน Ubuntu ลดลง
การปล่อยระบบให้อยู่ในสภาวะพื้นที่ต่ำอาจทำให้การอัปเดตล้มเหลว, บันทึกหาย, และความเสถียรโดยรวมลดลง
ส่วนนี้จะอธิบาย วิธีวินิจฉัยปัญหาพื้นที่ต่ำและวิธีแก้ไขที่มีประสิทธิภาพ ทีละขั้นตอน
4.1 การรับรู้อาการพื้นที่ต่ำ
แรกสุด ให้ระบุสัญญาณว่าพื้นที่จัดเก็บกำลังใกล้เต็ม ดูที่:
apt upgradeรายงานว่า “ไม่มีพื้นที่ว่างเพียงพอ”- คำเตือนจาก GUI “พื้นที่ดิสก์ต่ำ”
- แอปพลิเคชันไม่สามารถบันทึกการตั้งค่าหรือเขียนบันทึกได้
/varหรือ/tmpเติมเต็ม ทำให้ระบบทำงานช้า
เมื่อคุณเห็นสิ่งเหล่านี้ ถึงเวลาตรวจสอบ ว่าพื้นที่ถูกใช้ที่ไหน ไม่ใช่แค่เพิ่มพื้นที่เพิ่ม

4.2 ขั้นตอนที่ 1: ดูภาพรวมการใช้ (df)
เริ่มด้วย df -h เพื่อดูความจุโดยรวม:
df -h
ตัวอย่างผลลัพธ์:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 50G 48G 1.2G 98% /
/dev/sda1 512M 120M 392M 24% /boot
จุดเมานท์ใดที่มี Use% ≥ 90% ต้องให้ความสนใจเป็นพิเศษ โดยเฉพาะ /, /var, หรือ /home
4.3 ขั้นตอนที่ 2: ค้นหาไดเรกทอรีที่ใช้พื้นที่ (du)
เมื่อคุณรู้ว่าพาร์ทิชันที่เป็นปัญหาแล้ว ให้เจาะลึกด้วย du.
ตัวอย่าง: แสดง 10 รายการที่ใช้พื้นที่มากที่สุด
sudo du -hsx /* | sort -rh | head -10
ตัวอย่างผลลัพธ์:
15G /var
10G /home
5.2G /usr
3.1G /snap
/var ที่ใหญ่โดยทั่วไปหมายถึงบันทึกหรือแคช; /home ที่ใหญ่บ่งบอกถึงข้อมูลผู้ใช้
เจาะลึกภายใน /var
sudo du -hsx /var/* | sort -rh | head -10
โดยการสำรวจโครงสร้างลำดับชั้น คุณสามารถระบุไดเรกทอรีที่กินพื้นที่ได้อย่างแม่นยำ
4.4 ขั้นตอนที่ 3: ลบไฟล์และแคชที่ไม่จำเป็น
หลังจากระบุสาเหตุแล้ว ให้เริ่มทำความสะอาดรายการ ที่ปลอดภัยต่อการลบ
(1) ทำความสะอาดแคช APT
Ubuntu เก็บไฟล์แพคเกจชั่วคราวใน /var/cache/apt/archives. การลบไฟล์เหล่านี้สามารถคืนพื้นที่หลายกิกะไบต์
sudo apt clean
sudo apt autoremove
apt clean– ลบไฟล์แพคเกจที่คชทั้งหมดapt autoremove– ลบแพคเกจที่ไม่จำเป็นแล้ว
(หรือ) ลบไฟล์บันทึกเก่า
/var/log เป็นแหล่งที่มาของข้อมูลที่ทำให้เต็มพื้นที่บ่อย
sudo journalctl --vacuum-time=7d
คำสั่งข้างต้นจะลบบันทึกระบบที่เก่ากว่า 7 วัน
คุณยังสามารถลบไฟล์ .gz (บันทึกที่บีบอัด) ที่ไม่จำเป็นด้วยตนเอง
sudo rm -f /var/log/*.gz
(3) ลบเวอร์ชัน Snap เก่า
บน Ubuntu เวอร์ชันเก่าของแอป Snap จะถูกเก็บไว้โดยอัตโนมัติ
คุณสามารถลบ Snap เก่าด้วยคำสั่งต่อไปนี้
sudo snap list --all | grep disabled | awk '{print $1, $3}' |
while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
หรือคุณสามารถใช้ยูทิลิตี้แบบ “Snap Cleaner” อย่างง่าย
(4) ลบแคชรูปย่อ
หากคุณทำงานกับรูปภาพหรือวิดีโอจำนวนมาก แคชจำนวนมากจะสะสมใน ~/.cache/thumbnails
rm -rf ~/.cache/thumbnails/*
(5) ทำความสะอาดถังขยะ
ไฟล์ที่ลบผ่าน GUI อาจยังคงอยู่ใน ~/.local/share/Trash/files
rm -rf ~/.local/share/Trash/*
4.5 ขั้นตอนที่ 4: ลดการอุดตันจากแอปพลิเคชันและบันทึก
(1) เมื่อใช้ Docker
เมื่อใช้ Docker ภาพและคอนเทนเนอร์ที่ไม่จำเป็นอาจกินพื้นที่
docker system df
docker system prune -a
docker system df: ตรวจสอบการใช้พื้นที่ของ Dockerdocker system prune -a: ลบภาพและคอนเทนเนอร์ที่ไม่ได้ใช้
(2) เมื่อใช้ Flatpak หรือ Snap อย่างหนัก
ในสภาพแวดล้อมที่ติดตั้งแอป GUI จำนวนมาก สิ่งตกค้างจากแอป (เวอร์ชันเก่า) มักจะสะสม
ทำความสะอาดด้วยคำสั่งเช่น flatpak uninstall --unused.
(3) ตรวจสอบการตั้งค่าการหมุนบันทึก (log rotation)
ตรวจสอบไฟล์ /etc/logrotate.conf และไดเรกทอรี /etc/logrotate.d/ แล้วตั้งค่าช่วงเวลาการเก็บรักษาและขนาดที่เหมาะสมเพื่อช่วยป้องกันการเกิดซ้ำ.
4.6 ขั้นตอนที่ 5: แก้ไขอย่างพื้นฐานโดยการขยายหรือเพิ่มดิสก์
หากการลบไฟล์อย่างเดียวไม่เพียงพอ ให้พิจารณาการเปลี่ยนแปลงการตั้งค่าต่อไปนี้.
(1) เมื่อใช้ LVM
ในสภาพแวดล้อมที่ใช้ LVM (Logical Volume Manager) โวลุ่มลอจิกสามารถขยายได้อย่างง่ายดาย.
sudo lvextend -L +20G /dev/ubuntu-vg/ubuntu-lv
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
นี่ทำให้คุณสามารถเพิ่มความจุของ / ได้.
(2) เพิ่มดิสก์ใหม่และเมานท์มัน
เมานท์พื้นที่จัดเก็บใหม่ที่ /mnt/data (หรือที่คล้ายกัน) แล้วย้ายไดเรกทอรีขนาดใหญ่ (เช่น /var/lib/docker หรือ /home) ไปที่นั่น.
(3) ใช้ประโยชน์ด์สตอเรจ
การย้ายบันทึกและสำรองข้อมูลไปยัง Google Drive, Dropbox, Nextcloud ฯลฯ เป็นอีกทางเลือกหนึ่ง.
4.7 การตรวจสอบเป็นประจำเพื่อป้องกันการเกิดซ้ำ
การเต็มพื้นที่เป็นปัญหาที่สามารถหลีกเลี่ยงได้ด้วย การตรวจสอบเป็นประจำ.
การนำแนวปฏิบัติดังต่อไปนี้ไปใช้เป็นวิธีที่มีประสิทธิภาพ.
- ตรวจสอบ
df -hและdu -sh /varอย่างสม่ำเสมอ - สร้างสคริปต์เพื่อตรวจสอบไดเรกทอรีขนาดใหญ่โดยอัตโนมัติ
- ตั้งค่าการแจ้งเตือนทางอีเมลเมื่อการใช้งานเกินเกณฑ์ (
cron+mailutilsฯลฯ )
ตัวอย่างง่าย:
#!/bin/bash
THRESHOLD=90
USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
echo "Disk usage on / has exceeded ${THRESHOLD}%!" | mail -s "Disk Alert" admin@example.com
fi
4.8 สรุป: การให้ความสำคัญกับมาตรการประหยัดพื้นที่
| Priority | Measure | Notes |
|---|---|---|
| ★★★★★ | Delete APT cache (sudo apt clean) | Immediate effect |
| ★★★★☆ | Delete logs (sudo journalctl --vacuum-time=7d) | Safe and reliable |
| ★★★★☆ | Remove unnecessary Snap/Flatpak versions | Effective on desktop environments |
| ★★★☆☆ | Delete unnecessary Docker data | Useful for server use |
| ★★☆☆☆ | Disk expansion / mount addition | Effective as a root solution |
| ★☆☆☆☆ | Implement regular monitoring scripts | Benefits over long‑term operation |
เมื่อ Ubuntu มีพื้นที่เหลือน้อย,
ระบุแหล่งที่ใช้พื้นที่มาก → ลบจากพื้นที่ปลอดภัย → ตรวจสอบการตั้งค่า
การทำตามสามขั้นตอนนี้จะช่วยแก้ปัญหาได้ส่วนใหญ่.
5. เคล็ดลับขั้นสูง (เทคนิคที่เป็นประโยชน์ & ข้อควรระวัง)
แม้จะใช้วิธีข้างต้นเพื่อตรวจสอบและทำความสะอาดพื้นที่แล้ว ดิสก์ก็อาจเต็มอีกครั้งตามเวลา
ต่อไปนี้เป็นเทคนิคขั้นสูงเพื่อให้ Ubuntu ทำงานได้อย่างราบรื่น.
5.1 ทำการตรวจสอบดิสก์เป็นประจำโดยอัตโนมัติ
การรัน df หรือ du ด้วยตนเองเป็นเรื่องน่าเบื่อ แต่ สคริปต์อัตโนมัติ สามารถลดความพยายามได้
ลงทะเบียนสคริปต์ตรวจสอบอย่างง่ายใน cron เพื่อส่งการแจ้งเตือนเมื่อการใช้งานเกินเกณฑ์.
ตัวอย่าง: สคริปต์ที่ส่งอีเมลเมื่อพื้นที่ว่างลดลงต่ำกว่า 10%
#!/bin/bash
THRESHOLD=90
USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
echo "Warning: Root disk usage has reached ${USAGE}%." |
mail -s "Ubuntu Disk Warning" user@example.com
fi
บันทึกไฟล์นี้เป็น /usr/local/bin/check_disk.sh แล้วทำให้เป็นไฟล์ที่สามารถเรียกใช้ได้ด้วย chmod +x.
จากนั้นลงทะเบียนใน crontab -e ดังนี้:
0 8 * * * /usr/local/bin/check_disk.sh
→ การตรวจสอบจะทำงานอัตโนมัติทุกเช้าตรง 8 น.
จุดสำคัญ
- การแจ้งเตือนสามารถส่งผ่าน Slack Webhook, LINE Notify ฯลฯ
- สามารถขยายเพื่อเฝ้าติดตามหลายจุดเมานท์พร้อมกัน
5.2 คำสั่งหนึ่งบรรทัดเพื่อค้นหาไฟล์ขนาดใหญ่
บ่อยครั้งที่การขาดแคลนพื้นที่เกิดจากไฟล์ขนาดใหญ่ไม่กี่ไฟล์
คำสั่งหนึ่งบรรทัดต่อไปนี้จะแสดง ไฟล์ที่ใหญ่กว่า 1 GB.
sudo find / -type f -size +1G -exec ls -lh {} ; | awk '{print $9 ": " $5}'
/var/log/syslog.1: 1.5G
/var/lib/docker/overlay2/.../diff/usr/lib/libchrome.so: 2.3G
/home/user/Downloads/video.mp4: 4.1G
ด้วยวิธีนี้คุณสามารถค้นหาไฟล์ที่ควรลบหรือย้ายได้อย่างรวดเร็ว.
ตัวอย่าง: ค้นหาเฉพาะไดเรกทอรีที่กำหนด
sudo find /var -type f -size +500M
→ มีประโยชน์สำหรับการค้นหาไฟล์ที่ใหญ่กว่า 500 MB ใต้ /var.
5.3 สร้าง alias สำหรับคำสั่งที่ใช้บ่อย
การพิมพ์คำสั่งยาวทุกครั้งเป็นเรื่องน่าเบื่อ ดังนั้นการตั้งค่า alias จึงมีประสิทธิภาพ.
ตัวอย่าง: เพิ่มลงใน ~/.bashrc
alias dfh='df -h --total'
alias duh='sudo du -hsx /* | sort -rh | head -10'
alias logs='sudo du -hs /var/log/* | sort -rh | head -10'
นำไปใช้หลังจากตั้งค่า:
source ~/.bashrc
ตอนนี้,
dfh→ ตรวจสอบความจุรวมduh→ ดูโฟลเดอร์ 10 อันดับแรกlogs→ ตรวจสอบขนาดของไฟล์บันทึก
คุณสามารถดำเนินการเหล่านี้ได้ทันที
5.4 ตรวจสอบการเปลี่ยนแปลงการใช้ดิสก์อย่างต่อเนื่อง (monitoring)
เมื่อใช้งาน Ubuntu ระยะยาว คุณอาจเจอปัญหา “พื้นที่ดิสก์เพิ่มขึ้นโดยไม่ทราบสาเหตุ”
ดังนั้นการบันทึกการเปลี่ยนแปลงการใช้ดิสก์เป็นประวัติจึงเป็นประโยชน์
ตัวอย่าง: สคริปต์บันทึกการใช้ดิสก์ลงไฟล์
#!/bin/bash
df -h / | awk 'NR==2 {print strftime("%Y-%m-%d %H:%M:%S"), $3, $4, $5}' >> /var/log/disk_usage.log
รันสคริปต์นี้วันละครั้งผ่าน cron จะทำให้คุณสามารถติดตามแนวโน้มการใช้ดิสก์ในภายหลังได้
วิธีการขั้นสูงเพิ่มเติม
- ติดตั้ง
collectdหรือnetdataเพื่อสร้างกราฟ - ใช้ Prometheus + Grafana สำหรับการแสดงผลการตรวจสอบ
- หากอยู่บนคลาวด์ ให้เชื่อมต่อกับ AWS CloudWatch หรือ GCP Ops Agent
คุณสามารถตรวจสอบระดับการจัดการการดำเนินงานได้โดยไม่ต้องพึ่งพาเครื่องมือ GUI
5.5 ระวังอุปสรรคด้านสิทธิ์
เมื่อทำการตรวจสอบหรือทำความสะอาดการใช้ดิสก์ คุณอาจไม่ได้ผลลัพธ์ที่แม่นยำหากไม่มีสิทธิ์ระดับ root
ตัวอย่าง:
du -sh /var
แม้ว่าคุณจะรันคำสั่งนี้ ผู้ใช้ทั่วไปก็จะมีบางโฟลเดอร์ที่ถูกข้ามด้วยข้อความ “Permission denied” ทำให้ค่าที่ได้ต่ำกว่าความเป็นจริง
→ วิธีแก้คือใส่ sudo ไว้หน้าคำสั่งหรือทำงานด้วยสิทธิ์ผู้ดูแลระบบ
5.6 พิจารณาสภาพแวดล้อม SSD/HDD
สภาพแวดล้อม SSD
- เพื่อลดการเขียนที่ไม่จำเป็น ให้รัน TRIM อย่างสม่ำเสมอด้วย
fstrim:sudo systemctl enable fstrim.timerซึ่งช่วยให้ SSD ปรับปรุงบล็อกที่ถูกลบได้อย่างมีประสิทธิภาพ
สภาพแวดล้อม HDD
- ไฟล์บันทึกและแคชมักจะเกิดการกระจาย (fragment) ดังนั้นการรีบูตหลังจากลบล์ที่ไม่จำเป็นอาจช่วยได้
- การรันคำสั่ง
duที่ใช้ I/O หนักควรทำในช่วงที่โหลดระบบต่ำ เช่น เวลากลางคืน
5.7 ทำให้การจัดการความจุเป็นระบบเพื่อป้องกันการเกิดซ้ำ
สุดท้าย วิธีแก้ปัญหาที่ดีที่สุดสำหรับการจัดการความจุคือ การทำเป็นนิสัยและเป็นระบบ
เช็คลิสต์ปิบัติ
- ตรวจสอบ
df -hอย่างสม่ำเสมอ - ตรวจสอบการเติบโตของ
/var/logรายเดือน - รัน
apt autoremoveรายสัปดาห์ - ลบข้อมูล Snap และ Docker ที่ไม่จำเป็นเป็นระยะ
- มีสคริปต์แจ้งเตือนอัตโนมัติพร้อมใช้งาน
หากทำตามนี้เป็นประจำ ปัญหาพื้นที่ดิสก์ส่วนใหญ่จะถูกป้องกันได้
สรุป
ส่วนนี้ได้แนะนำ เทคนิคขั้นสูง เพื่อทำให้การจัดการพื้นที่ดิสก์บน Ubuntu มีประสิทธิภาพมากขึ้น
จุดคัญมีสามประการ:
- การตรวจจับล่วงหน้าผ่านการอัตโนมัติและการแจ้งเตือน
- ประสิทธิภาพการดำเนินงานด้วย alias และ one‑liners
- การจัดการอย่างปลอดภัยโดยคำนึงถึงสิทธิ์และลักษณะของอุปกรณ์
การผสานเทคนิคเหล่านี้จะทำให้การจัดการความจุเปลี่ยนจากงานที่น่าเบื่อเป็นส่วนสำคัญของการดำเนินระบบ
6. FAQ (คำถามที่พบบ่อย)
Q1. วิธีง่าย ๆ ในการตรวจสอบพื้นที่ว่างปัจจุบันบน Ubuntu คืออะไร?
วิธีที่ง่ายที่สุดคือรันคำสั่งต่อไปในเทอร์มินัล
df -h
คำสั่งนี้จะแสดง ขนาดรวม, พื้นที่ใช้, และพื้นที่ว่าง ของแต่ละไดรฟ์ (พาร์ทิชัน) อย่างรวดเร็ว
เพิ่มออปชัน -h จะทำให้แสดงขนาดในรูปแบบที่อ่านง่าย (GB, MB)
Q2. จะตรวจสอบการใช้ดิสก์ตามไดเรกทอรีได้อย่างไร?
ใช้คำสั่ง du
เพื่อดูการใช้ของโฟลเดอร์เฉพาะ ให้รัน:
du -sh /home
ความหมายของออปชัน:
-s: แสดงผลรวมเท่านั้น-h: แสดงขนาดในหน่วยที่อ่านง่าย
หากต้องการดูการใช้แบบละเอียดตามโฟลเดอร์ ให้ใช้:
sudo du -h --max-depth=1 /var
Q3. ความแตกต่างระหว่าง df กับ du คืออะไร?
สั้น ๆ คือ ทั้งสองวัดสิ่งที่ต่างกัน
| Command | Target | Primary Use |
|---|---|---|
df | Entire filesystem | Check free space |
du | File/directory level | Find where space is used |
ตัวอย่างเช่น ใช้ df เพื่อตรวจสอบพื้นที่ว่างรวมของ / และใช้ du เพื่อตรวจสอบว่าโฟลเดอร์ใดใช้พื้นที่เท่าไหร่
Q4. จะตรวจสอบพื้นที่ว่างผ่าน GUI ได้อย่างไร?
บน Ubuntu Desktop คุณสามารถตรวจสอบได้โดยใช้ File Manager (Nautilus) หรือ Disk Usage Analyzer (Baobab)
- File Manager → แถบด้านล่างจะแสดง “Remaining XX GB”
- Baobab → แสดงการแจกแจงการใช้แบบกราฟิก
ทั้งสองเป็นมิตรกับผู้เริ่มและให้ผลลัพธ์ด้วยการคลิกเดียว
Q5. หากได้รับคำเตือน “ดิสก์เต็ม” ควรลบอะไรก่อน?
เริ่มต้นด้วยการลบแคชที่ปลอดภัยและไฟล์ที่ไม่จำเป็น
ลำดับที่แนะนำคือ:
- ล้างแคช APT
sudo apt clean - ลบแพ็กเกจที่ไม่จำเป็น
sudo apt autoremove - ล้างログ
sudo journalctl --vacuum-time=7d - ลบถังขยะและแคช thumbnail
rm -rf ~/.cache/thumbnails/* && rm -rf ~/.local/share/Trash/*
ขั้นตอนเหล่านี้เพียงอย่างเดียวสามารถคืนพื้นที่หลายกิกะไบต์ได้
Q6. ฉันได้ยินว่าแอป Snap สามารถทำให้พื้นที่ดิสก์บวมโตได้ ฉันจะทำอย่างไร?
Snap จะเก็บเวอร์ชันของแอปแต่ละเวอร์ชัน ดังนั้นเวอร์ชันเก่าอาจค้างอยู่
คุณสามารถลบเวอร์ชันเก่าที่ไม่จำเป็นด้วยคำสั่งต่อไปนี้:
sudo snap list --all | grep disabled | awk '{print $1, $3}' |
while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
ทางเลือกอื่น คุณสามารถลบด้วยตนเองโดยใช้เครื่องมือ GUI Snap Store
Q7. ฉันควรทำอย่างไรเมื่อ /var หรือ /home ใหญ่เกินไป?
/var– ล้างログ (/var/log) และแคช (/var/cache)/home– สำรองข้อมูลหรือย้ายไฟล์ดาวน์โหลดและวิดีโอไปยังที่เก็บข้อมูลภายนอก
หากคุณต้องการเพิ่มความจุ คุณสามารถขยายโวลุ่มด้วย LVM หรือเมานต์ดิสก์ใหม่และจัดการพื้นที่แยกต่างหาก
Q8. การรัน du ใช้เวลานาน มีวิธีเร่งความเร็วไหม?
du สแกนไฟล์ทุกไฟล์แบบ recursive ดังนั้นอาจช้าบนไดเรกทอรีที่มีรายการมาก
เคล็ดลับต่อไปนี้สามารถช่วยได้:
- ใช้
--max-depth=1เพื่อข้าม sub-directory ลึก - Exclude โฟลเดอร์ที่ไม่จำเป็น (เช่น
--exclude=/proc) - ใช้คำสั่ง
ncdu(มุมมองแบบ interactive)sudo apt install ncdu sudo ncdu /
ncdu รู้สึกเบาและให้วิธีการตรวจสอบการใช้งานดิสก์แบบ visual
Q9. ฉันจะป้องกันไม่ให้พื้นที่หมดอีกได้อย่างไร?
การบำรุงรักษาปกติช่วยได้มาก:
- รัน
sudo apt autoremoveสัปดาห์ละครั้ง - ตรวจสอบการใช้งาน
/var/logและ/homeรายเดือน - บันทึกผลลัพธ์ของ
df -hลงログและติดตามการเปลี่ยนแปลง - ลบข้อมูล Snap หรือ Docker เก่าเป็นระยะ
- บน SSD เปิดใช้งานการตัดแต่งอัตโนมัติด้วย
sudo systemctl enable fstrim.timer
การทำให้งานเหล่านี้เป็นอัตโนมัติสามารถป้องกันปัญหาพื้นที่ดิสก์ได้
Q10. ตัวเลือกของฉันสำหรับการขยายที่เก็บข้อมูลคืออะไร?
มีแนวทางทั่วไปสามแบบ:
ขยายโวลุ่ม LVM
bash sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv sudo resize2fs /dev/ubuntu-vg/ubuntu-lv2. เพิ่มดิสก์ใหม่และเมานต์ – สร้างจุดเมานต์เช่น/mnt/dataและกระจายโหลด 3. ใช้ที่เก็บข้อมูลคลาวด์ – ย้ายไฟล์ใหญ่ไปยัง Google Drive, Nextcloud ฯลฯ
หากการเพิ่มที่เก็บข้อมูลทางกายภาพไม่เป็นไปได้ การเก็บถาวรไฟล์เก่าก็มีประสิทธิภาพเช่นกัน
Q11. ฉันสามารถตรวจสอบการใช้งานดิสก์โดยไม่ต้องมีสิทธิ์ root ได้ไหม?
df -h พื้นฐานทำงานได้สำหรับผู้ใช้ใดๆ แต่ du ต้องการสิทธิ์ในการอ่านไดเรกทอรีบางตัว (เช่น /var/log)
ในสภาพแวดล้อม non-root จำกัดการสแกนไปยังไดเรกทอรี home ของคุณ:
du -sh ~/*
Q12. ฉันตรวจสอบที่เก็บข้อมูลบนระบบ headless (เซิร์ฟเวอร์) ได้อย่างไร?
เนื่องจากรุ่นเซิร์ฟเวอร์ของ Ubuntu ขาด GUI ให้ใช้คำสั่งเหล่านี้แทน:
| Goal | Command |
|---|---|
| Check overall usage | df -h |
| Check per‑directory usage | sudo du -hsx /* |
| Find large files | sudo find / -type f -size +1G |
| Visual, text‑based view | sudo ncdu / |
การรวมกันของมันช่วยให้คุณวิเคราะห์การใช้งานดิสก์ได้อย่างสะดวกโดยไม่ต้องมี GUI
Q13. มีความเสี่ยงในการทำลายระบบขณะตรวจสอบที่เก็บข้อมูลไหม?
การตรวจสอบการใช้งานเพียงอย่างเดียวไม่มีความเสี่ยง
อย่างไรก็ตาม ระวังเมื่อคุณเริ่มลบหรือปรับขนาด:
- ตรวจสอบเส้นทางสองครั้งก่อนใช้
sudo rm -rf - อย่าลบไดเรกทอรีระบบเช่น
/bin,/lib, หรือ/etc - หากคุณไม่แน่ใจ ให้สำรองข้อมูลก่อน
Q14. มีเคล็ดลับซ่อนเร้นในการประหยัดพื้นที่ไหม?
- สั้นลงการเก็บログ (การตั้งค่า
/etc/logrotate.conf) - ลบแพ็กภาษาที่ไม่จำเป็น:
sudo apt install localepurge - ลบเคอร์เนลเก่า (บางครั้งค้างอยู่):
sudo apt autoremove --purge
ขั้นตอนเหล่านี้สามารถคืนพื้นที่ตั้งแต่ไม่กี่ร้อย MB ถึงหลาย GB
Q15. เครื่องมือแนะนำสำหรับการตรวจสอบการใช้งานดิสก์คืออะไร?
Ubuntu มีเครื่องมือตรวจสอบที่มีประโยชน์หลายตัว:
| Tool | Features |
|---|---|
| ncdu | Lightweight, fast CLI explorer |
| Baobab | GUI with visual charts |
| duf | Enhanced df with a clean table layout |
| Netdata / Prometheus / Grafana | Full‑stack server monitoring and graphing |
Summary
ประเด็นสำคัญสำหรับการจัดการพื้นที่ดิสก์บน Ubuntu คือ:
- ใช้
dfเพื่อดูภาพรวมและduเพื่อการตรวจสอบอย่างละเอียด - ลบข้อมูลที่ไม่จำเป็นตามลำดับที่ปลอดภัย (APT → logs → caches)
- ทำการทำความสะอาดและการตรวจสอบโดยอัตโนมัติเพื่อป้องกันการเกิดซ้ำ
โดยทำให้แนวปฏิบัติเหล่านี้เป็นกิจวัตร ปัญหาพื้นที่ดิสก์จะกลายเป็นเรื่องหายาก การจัดการพื้นที่เก็บข้อมูลอาจดูธรรมดา แต่เป็นหนึ่งในงานบำรุงรักษาที่สำคัญที่สุดสำหรับระบบ Ubuntu ที่เสถียร.


