在 Linux 上有时候会出现磁盘满了的情况,就需要上去删掉一些数据
1. 首先, 先确定一下Linux磁盘的占用情况
cd /
df -h
2. 当前的文件夹下的磁盘使用情况
cd /
du --max-depth=1 -h
3. 有一个比较常用的办法就是
lsof | grep delete| awk '{print $2} '|xargs kill -9
上面这个命令可以清理较多的空间出来
在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink),然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用,这样就会导致我们明明删除了文件,但是磁盘空间却未被释放,怎么解决这些问题呢,步骤如下:
1. 首先获得一个已经被删除但是仍然被应用程序占用的文件列表,如下所示:
[root@test]# lsof|grep deleted
proftpd 3468 nobody 4r REG 8,2 1648 667033 /etc/passwd (deleted)
proftpd 3468 nobody 5r REG 8,2 615 667032 /etc/group (deleted)
syslogd 3854 root 2w REG 8,2 65521380 164531 /var/log/messages.1 (deleted)
syslogd 3854 root 3w REG 8,2 22728648 164288 /var/log/secure.1 (deleted)
syslogd 3854 root 5w REG 8,2 4247977 164316 /var/log/cron.1 (deleted)
从输出结果可以看到哪些文件还被使用,未被释放空间。
网友评论