兄弟们,冤枉啊,lsof |grep delete、lsof 文件、lsof +D目录都查过了,都没问题,没有进程打开
1
yanqiyu 2023-10-16 18:21:32 +08:00
确定检查方法对的?主要是有时候可能 lsof 里面的路径就不对/有些进程打开的文件只有 root 下才能看到
sudo lsof | egrep "deleted|COMMAND" 检查 DEVICE 号码和 SIZE 对的上的(不要只看路径,以及不要再非 root 下执行) 要是找不到另说,找到了就 echo > /proc/<pid>/fd/<fd> 释放空间 --- 其实对于这种文件空间爆炸,建议就 echo >/path/to/file 再删除,能保证释放空间而不用 lsof 到处找 |
2
my3157 2023-10-16 18:26:43 +08:00
truncate -s 0 <fp>
|
3
seers 2023-10-16 19:15:33 +08:00 via Android
句柄没释放
|
4
pagxir 2023-10-16 19:24:45 +08:00 via Android
也有可能被 mount 成回环磁盘了。
|
5
zxf9799 2023-10-16 20:13:28 +08:00 1
1 楼正解,这个在服务器上遇到很多次了,估计有啥进程永久占用这个文件了,句柄保存的情况下空间不会释放,lsof 命令看下这个文件是不是还在
|
6
iphoneXr 2023-10-16 20:32:37 +08:00
atop 命令执行完成之后就会后台继续运行的
你要用进程查看下 是否 atop 进程还存在? 命令如下 ps aux|grep atop 杀完了 atop 进程再去用 ncdu 分析下磁盘大文件把。 |
7
iphoneXr 2023-10-16 20:34:37 +08:00
帮人帮到底把。
执行这个应该就能释放空间 恢复正常了 ps aux|grep atop| grep -v grep | awk '{print $2}' | xargs --no-run-if-empty kill -9 |
8
zhoudaiyu OP @iphoneXr 看了无数遍了,没有 atop 进程,service 也是 disable 的
|
9
h2ero 2023-10-16 21:14:57 +08:00
既然是 atop 的,就 kill 下 atop 得了
|
10
zhoudaiyu OP |
12
zydrsnuo 1 天前
atop 不直接产生记账文件, 而是触发内核写入记账文件, atop 退出时再调用内核停止记账. 如果 atop 异常退出, 它就没有关闭记账的动作, 记账文件会越来越大. 可以执行 accton off 命令停止记账.
|