当前位置: 好装机 电脑常见问题 linux系统tmp目录满了怎么办

linux系统tmp目录满了怎么办 linux系统tmp文件夹占用100%怎么解决

时间:2023-11-16 10:14:53作者:jhuang

  在使用linux电脑时,我们经常会遇到一些目录空间不足的问题,其中,temp文件夹占用空间过大是比较常见的情况。这个文件夹通常用于存储临时文件,但过多的临时文件会导致磁盘空间不足,影响电脑的正常运行。linux系统tmp目录满了怎么办呢?下面小编就来和大家介绍linux系统tmp文件夹占用100%怎么解决的方法。

  temp文件夹占用空间过大怎么办

  1、通过 df -h 查看磁盘占用,发现/dev/vdb1 (文件存放路径)占用42%,空间充足;但是/tmp 文件夹占用率100%。

  df -h

  这里已经释放了部分空间所以/tmp占用为91%。

linux系统tmp目录满了怎么办_linux系统tmp文件夹占用100%怎么解决

  2、进入/tmp路径查看占用情况,发现文件占用才5.7M,实际总空间有16G。

  cd /tmp

linux系统tmp目录满了怎么办_linux系统tmp文件夹占用100%怎么解决

  3、由于tmp为临时文件夹,文件使用结束后自动删除,猜测存在文件被删除但是空间未释放的情况。通过 lsof /tmp 查看文件情况,发现有大量的文件被删除但是依旧被进程占用,导致无法释放空间。

  lsof /tmp

linux系统tmp目录满了怎么办_linux系统tmp文件夹占用100%怎么解决

  4、通过以上截图查看占用文件的进程PID为3860289,此进行未部署的springboot项目。正常情况下重启项目即可释放,但是当前为线上项目,重启会影响用户使用。所以需要不通过重启释放空间。

  解决问题

  1、查询文件占用进程的文件fd信息 ls -i /proc/{进程PID}/fd 举例如下:

  ls -i /proc/3860289/df

linux系统tmp目录满了怎么办_linux系统tmp文件夹占用100%怎么解决

  2、通过>/proc/{进程pid}/fd/{文件fd} 解除空间占用(文件fd为上图中红色部分第一个数字),举例如下:

  >/proc/3860289/fd/999

  3、批量解除文件占用,可通过编写shell脚本解决,举例:删除pid为3860289中fd为500到1000的文件占用。

  #!/bin/bash

  for i in {500..1000}

  do

  /proc/3860289/fd/$i

  done

  4、以上为临时删除文件占用,最后可通过重启应用解决问题 kill -9 {PID}

  kill -9 3860289

  以上就是关于linux系统tmp目录满了怎么解决的全部内容,有遇到相同情况的用户可以按照以上方法解决,希望对大家有帮助。

相关教程