删除文件后,磁盘可用空间并没有释放怎么办?

 

2015-10-29 13:03:46 ldhshao 阅读数 4666更多

分类专栏: linux

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/ldhshao/article/details/49490123

我们部分服务器的根文件系统只预留了50G空间,并且常用于调试的/var目录并未 挂载到单独的磁盘上而是共享这50G。那么 过多的打印信息或crash就会造成根目 录可用空间不够。但是删除大文件后,磁盘可用空间可能不会增大。
下面以删除存放系统log信息的message为例:
linux及solaris
可以这样做:
a、下载一个lsof软件装上,google上可以搜到
b、找到正在用被删文件的进程
lsof | grep deleted
c、kill掉相应的进程空间就释放了

# rm /var/log/messages
# df / -h
Filesystem                        Size  Used Avail Use% Mounted on
/dev/mapper/vg_openstack-lv_root   50G   50G 0 100% /

从上面看,磁盘空间并没有释放。这是因为该文件可能被某进程访问中。通过下面 的方式可以查看打开该文件的进程:

# lsof  | grep message
rsyslogd  20068      root    1w      REG 253,0       212    1835497 /var/log/messages (deleted)

停掉运行该进程服务后,空间就释放出来了。

# service rsyslog stop
Shutting down system logger: [  OK  ]
# df / -h
Filesystem                        Size  Used Avail Use% Mounted on
/dev/mapper/vg_openstack-lv_root   50G   42G  5.4G  89% /

如果还想要记录系统信息,别忘了再启动该服务。

# service rsyslog start
Starting system logger: [  OK  ]

你可能感兴趣的:(flink,java基础/js)