หลังจากที่ทำการ clear file หรือ folder ที่มีขนาดใหญ่ไปแล้ว ในที่นี้คือ folder ชื่อ e2fsprogs-1.42.12 ซึ่งมีขนาด 13GB
root@Microknoppix:/mnt/lfs#cd /mnt/lfs/sources/
root@Microknoppix:/mnt/lfs#rm -rf e2fsprogs-1.42.12
หลังจากนั้นเชคโดย df แต่ยังพบว่า พื้นที่ยังไม่ถูก clear ออกจากระบบ ยังคงเห็นเป็นขนาด usage = 100%
#df -h
/dev/sda2 20G 20G 0 100% /mnt/lfs
ให้ทำการเชคโดยผ่าน command lsof ดังนี้ ครับ
root@Microknoppix:/mnt/lfs# lsof | grep deleted
จะเห็นได้ว่ามี folder ที่ยังค้างอยู่ในระบบ แต่ขึ้นสถานะว่าเป็น (deleted) แล้ว
ทำการเชคอีกรอบ เพื่อดู เลข pid = 3072
root@Microknoppix:/mnt/lfs# lsof | grep deleted | grep "f_mmp.log"
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /run/user/1000/gvfs
Output information may be incomplete.
debugfs 3072 root 1w REG 8,2 18649381452 297919 /mnt/lfs/sources/e2fsprogs-1.42.12/build/tests/f_mmp.log (deleted)
debugfs 3072 root 2w REG 8,2 18649381452 297919 /mnt/lfs/sources/e2fsprogs-1.42.12/build/tests/f_mmp.log (deleted)
ให้ทำการเข้าไปยัง proc นั้นๆ ที่ถือครองอยู่ คือ pid=3072
root@Microknoppix:/mnt/lfs/proc# cd /mnt/lfs/proc/3072
root@Microknoppix:/mnt/lfs/proc/3072# ls
attr coredump_filter gid_map mounts pagemap stat
autogroup cpuset io mountstats personality statm
auxv cwd limits net projid_map status
cgroup environ loginuid ns root syscall
clear_refs exe maps oom_adj sessionid task
cmdline fd mem oom_score smaps uid_map
comm fdinfo mountinfo oom_score_adj stack wchan
##เข้าไปที่ folder =fd ที่เก็บไฟล์นี้
root@Microknoppix:/mnt/lfs/proc/3072# cd fd
root@Microknoppix:/mnt/lfs/proc/3072/fd# ls
0 1 2 3 4
root@Microknoppix:/mnt/lfs/proc/3072/fd# ls -lah
total 0
dr-x------ 2 root root 0 Jul 9 05:46 .
dr-xr-xr-x 8 root root 0 Jul 8 09:28 ..
lr-x------ 1 root root 64 Jul 9 05:46 0 -> pipe:[1493822]
l-wx------ 1 root root 64 Jul 9 05:46 1 -> /mnt/lfs/sources/e2fsprogs-1.42.12/build/tests/f_mmp.log (deleted)
l-wx------ 1 root root 64 Jul 9 05:46 2 -> /mnt/lfs/sources/e2fsprogs-1.42.12/build/tests/f_mmp.log (deleted)
lrwx------ 1 root root 64 Jul 9 05:46 3 -> /mnt/lfs/sources/e2fsprogs-1.42.12/build/tests/tmp-f_mmp.iUEpNf (deleted)
lrwx------ 1 root root 64 Jul 9 05:46 4 -> /mnt/lfs/sources/e2fsprogs-1.42.12/build/tests/tmp-f_mmp.iUEpNf (deleted)
#จะพบว่ามีไฟล์ f_mmp.log อยู่รวมทั้งไฟล์ tmp-f_mmp ให้ทำการลบออกซะ
root@Microknoppix:/mnt/lfs/proc/3072/fd# cat /dev/null > /proc/3072/fd/0
root@Microknoppix:/mnt/lfs/proc/3072/fd# cat /dev/null > /proc/3072/fd/1
root@Microknoppix:/mnt/lfs/proc/3072/fd# cat /dev/null > /proc/3072/fd/2
root@Microknoppix:/mnt/lfs/proc/3072/fd# cat /dev/null > /proc/3072/fd/3
root@Microknoppix:/mnt/lfs/proc/3072/fd# cat /dev/null > /proc/3072/fd/4
###เสร็จแล้วลองทำการเชคอีกรอบครับ ก็จะได้ขนาดพื้นที่กลับมาปกติครับผม
root:/usr# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 1.6G 18G 9% /
เหตุการณ์ลักษณะนี้ อาจจะทำการ reboot server 1 รอบก็ได้ ถ้าไม่ต้องการทำการลบเองแบบนี้
แต่ถ้าท่านใดอยากเก้บ uptime หรือมีเหตุผลอื่นๆ ที่ไม่ต้องการ reboot
วิธีนี้ก็เป็นแฉกเช่นวิธีหนึ่งในการแก้ไขปัญหาครับผม
ขอให้สนุกกับการใช้งาน open source นะครับผม