您现在的位置是:首页>LinuxLinux

删除日志不释放磁盘空间,并不杀进程释放磁盘空间

刘海林2021-09-29Linux940人已围观

简介删除日志不释放磁盘空间,并不杀进程释放磁盘空间

删除日志后不释放磁盘空间处理方式

问题:


发现某个日志文件大量占用磁盘空间,于是执行 rm 删除文件后,磁盘容量还是处于占用状态。

在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink),然而如果文件是被打开的(有进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。


解决方法:


1、找到被占用的进程杀掉即可,此方法需要杀掉进程。

2、在不杀进程的情况下,释放磁盘空间

找被删除的日志文件进程进行清空

#找到删除日志文件的进程
lsof -n | grep deleted > log_del.log

当linux打开一个文件的时候,Linux内核会为每一个进程在/proc 目录下创建建立一个以其 pid 为名的目录用来保存进程的相关信息,而其子目录fd保存的是该进程打开的所有文件的fd(fd:file descriptor)。

目录格式类似 /proc/27319/fd

#到 /proc/27319/fd 目录下找到被删除的文件占用链接
ll | grep deleted

#执行文件清空,如果一次不行多操作几次
> 1

通过以上方法,在不杀进程的情况下,顺利释放了磁盘空间。

相关文章

    7X24小时运维托管服务
    电商网站托管、企业网站托管

站点信息

  • 建站时间:2020-1-1
  • 网站程序:SsysCMS
  • 文章作者:刘海林
  • 承接业务:运维,SEM,软件定制
  • 网站统计百度统计
  • 服务器提供商重庆海林网络建站
  • 联系微信:扫码与我交流