Linux磁盘占满
当磁盘被某大文件占满时,而且此大文件正在被某些进程读写并占用着,此时无法删除和置空此文件,只能先找到占用大文件的进程,然后终止进程,最后置空此文件。
实例如下:在/boot分区中创建大文件test,将boot分区的磁盘占满,通过另外一个终端进入主机,vim编辑此test文件,模拟大文件被vim进程占用,然后删除和清空此test文件。
终端1 [[email protected] ~]# df -h /boot/ #查看boot分区大小 Filesystem Size Used Avail Use% Mounted on /dev/sda1 997M 110M 887M 12% /boot [[email protected] ~]# dd if=/dev/zero of=/boot/test bs=1M count=900 #创建900M文件,占满磁盘 dd: error writing ‘/boot/test’: No space left on device 887+0 records in 886+0 records out 930058240 bytes (930 MB) copied, 13.166 s, 70.6 MB/s [[email protected] ~]# |
终端2在创建好大文件后,启用终端2,vim编辑此文件,模拟此文件被占用
[[email protected]]# vim test 1 ~ ~ |
回到终端1中进行删除文件
[[email protected] ~]# rm -rf/boot/test #无法删除此大文件 [[email protected] ~]# df -h /boot #发现此大文件并没有被删除 Filesystem Size Used Avail Use% Mounted on /dev/sda1 997M 997M 20K 100% /boot [[email protected] ~]# >/boot/test #置空此大文件并没有被置空 -bash: /boot/test: No spaceleft on device [[email protected] ~]# df -h /boot Filesystem Size Used Avail Use% Mounted on /dev/sda1 997M 997M 20K 100% /boot [[email protected] ~]# lsof |grep/boot/test vim 6562 root 3r REG 8,1 930045952 456127 /boot/test [email protected] ~]# kill 6562 #杀死此vim的进程 [[email protected] ~]# >/boot/test #置空此文件 [[email protected] ~]# df -h /boot #验证发现此文件已经被清空 Filesystem Size Used Avail Use% Mounted on /dev/sda1 997M 110M 887M 12% /boot [[email protected] ~]# rm -rf/boot/test #然后删除此文件 [[email protected] ~]# ll/boot/test ls: cannot access/boot/test: No such file or directory |