Linux显示磁盘空间不足,/tmp文件夹占用100%问题分析和解决方案

系统运行过程中发现无法上传文件,第一反应是磁盘空间不足导致,登录服务器后查看文件存放的空间充足,但是无法上传文件且命令行的tab键自动补充也提示空间不足。最后经过搜索和分析发现是/tmp 文件夹占用100%导致。以下记录分析和解决流程。

问题分析

        服务器环境

                操作系统:银河麒麟V10

                CPU:鲲鹏(ARM)

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

df -h
Linux显示磁盘空间不足,/tmp文件夹占用100%问题分析和解决方案

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

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

cd /tmp
Linux显示磁盘空间不足,/tmp文件夹占用100%问题分析和解决方案

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

lsof  /tmp
Linux显示磁盘空间不足,/tmp文件夹占用100%问题分析和解决方案
  1. 通过以上截图查看占用文件的进程PID为3860289,此进行未部署的springboot项目。正常情况下重启项目即可释放,但是当前为线上项目,重启会影响用户使用。所以需要不通过重启释放空间。

解决问题

  1. 查询文件占用进程的文件fd信息 ls -i /proc/{进程PID}/fd 举例如下:
 ls -i /proc/3860289/df
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(PID)

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/10723

(0)
凯影的头像凯影
上一篇 2023年12月22日 下午2:35
下一篇 2023年12月25日 下午3:58

相关推荐

  • Windows实例内部自定义域名解析与本地网络域名解析不一致导致无法访问网站如何处理?

    问题描述 在Windows实例内部通过浏览器无法访问某网站,但在其他设备上可以正常访问,排查发现Windows实例内部自定义域名解析与本地网络域名解析不一致,具体说明如下: 问题原因 Windows实例内部和本地域名解析的IP地址不一致的可能原因如下: 解决方案 说明 本文操作以Windows Server 2019 数据中心版 64位中文版操作系统为例,其…

    2023年11月20日
    1.4K00
  • Nginx升级版本

    一:宝塔Nginx升级 在宝塔界面点击软件管理->运行环境->Nginx的设置 选择切换版本->选择想要升级的版本,点击切换等待安装成功 二:Linux下升级nginx版本(源码包方式) 方式:使用源码包的方式 老版本:nginx/1.13.0 新版本:nginx/1.22.0 一:下载源码包 wget http://nginx.org/d…

    2022年8月2日
    2.0K00
  • kali系统登录密码忘了如何进行重置

    如果你的kali系统密码忘记了,又不想重装系统,那么,你可以通过如下几个步骤来强制重置root密码 第一步:在启动kali系统之后会进入到一个引导界面,然后我们需要按“e”来进入启动前的编辑命令,若你在开机时没有出现如下界面,你可以连续按上下键来阻止系统正常启动,以此来进入这个开机引导界面。 第二步:按“e”进入到启动前编辑命令界面后,找到以下内容,并做一定…

    2022年6月13日
    3.9K00
  • 部署 OVA 时出现“OVF 软件包无效且无法部署”错误

    通过 vSphere Client 部署 OVA 失败。 您会看到以下错误 Cause 出现此问题的原因是,vSphere Client 不支持最新 VIC OVA(从 1.1.1 开始)包含的 SHA256 哈希算法。 在使用 Get-Ovf Configuration cmdlet 时,还会影响通过 PowerCLI 进行的任何 OVA 部署。 Reso…

    2023年8月11日
    2.3K00
  • 使用netcat检测UDP端口是否开启

    一般我们使用tcping或者telnet检测目标IP的的TCP端口是否开放。但这两种工具对UDP端口无效。 Netcat是什么 NC(netcat)被称为网络工具中的瑞士军刀,体积小巧,但功能强大。 Nc主要功能 Nc可以在两台设备上面相互交互,即侦听模式/传输模式 可以使用的参数 其实常用的就几个参数-n,-v,-l,-p,-q

    2022年12月6日
    1.6K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信