在 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)
从输出结果可以看到哪些文件还被使用, 未被释放空间.
来源: http://www.mzh.ren/94ebe0a9c199.html