磁盘打满删除文件磁盘未释放

现象

现象:vim编辑提示file system full,提示文件系统满了

“config.js” E514: write error (file system full?)

现象追溯

查看磁盘使用率

发现/data磁盘打满

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G  8.7G   29G  24% /
devtmpfs        3.9G     0  3.9G   0% /dev
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           3.9G  656K  3.9G   1% /run
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/vdb1       200G  200G   20K 100% /data
tmpfs           783M     0  783M   0% /run/user/0

查看指定目录磁盘占用情况

# du -h /data/kafka-manager-1.3.3.18/bin
184G        /data/kafka-manager-1.3.3.18/bin

查看指定目录文件磁盘占用情况

# ls -lh
total 184G
-rwxr-xr-x 1 root root  14K Feb 23  2022 kafka-manager
-rw-r--r-- 1 root root 9.7K Feb 23  2022 kafka-manager.bat
-rwxr-xr-x 1 root root 1.4K Feb 23  2022 log-config
-rw-r--r-- 1 root root  105 Feb 23  2022 log-config.bat
-rw------- 1 root root 184G Jul 18 13:26 nohup.out

删除占用磁盘大文件nohup.out

rm -rf /data/kafka-manager-1.3.3.18/bin/nohup.out

再次查看磁盘使用率

发现linux系统删除文件之后服务器磁盘空间未释放处理

[root@nodejs-10-2-31-122 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G  8.7G   29G  24% /
devtmpfs        3.9G     0  3.9G   0% /dev
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           3.9G  656K  3.9G   1% /run
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/vdb1       200G  200G   20K 100% /data
tmpfs           783M     0  783M   0% /run/user/0

释放磁盘空间

# lsof |grep deleted
java       5026           root    1w      REG             253,17 196682248192      86648 /data/kafka-manager-1.3.3.18/bin/nohup.out (deleted)

# 杀掉kafka-manager
kill -9 5026

# 检查磁盘释放释放
[root@nodebin]# df -h 
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G  8.7G   29G  24% /
devtmpfs        3.9G     0  3.9G   0% /dev
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           3.9G  624K  3.9G   1% /run
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/vdb1       200G   17G  184G   9% /data  # 磁盘释放了
tmpfs           783M     0  783M   0% /run/user/0

# 重启kafka-manager

为什么磁盘没释放?

在CentOS中,当磁盘空间满了并删除文件后,磁盘空间可能仍然没有被释放的原因可能是以下几种情况:

  1. 文件仍然被进程占用:

即使你删除了文件,如果某个进程仍然在使用该文件,磁盘空间就不会被释放。你可以通过使用 lsof 命令来查看正在使用被删除文件的进程。例如,使用以下命令查找已删除但仍被进程占用的文件:

lsof | grep deleted

然后,你可以终止占用文件的进程,或者重启相关服务来释放磁盘空间。

  1. 文件系统的保留空间:

在某些情况下,文件系统会保留一定的空间,即使磁盘已满。这个保留空间是为了防止磁盘完全填满导致系统无法正常工作。你可以使用 tune2fs 命令来检查和修改文件系统的保留空间设置。例如,使用以下命令查看文件系统的保留空间设置:

tune2fs -l /dev/<your_device>

如果需要,你可以使用 tune2fs 命令修改保留空间的百分比。请确保你了解修改保留空间的潜在风险和影响。

  1. 磁盘写入缓存:

当你删除文件时,操作系统可能会将删除操作放入磁盘写入缓存中,而不是立即执行。这样做是为了提高性能。你可以尝试使用 sync 命令将缓存中的数据强制写入磁盘,以确保已删除文件的空间被释放。

sync
  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值