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

相关推荐

  • 如何在 Ubuntu 20.04 上使用 UFW 来设置防火墙

    防火墙是一个用来监视和过滤进出网络流量的工具。它通过定义一系列安全规则,来决定是否允许或者屏蔽指定的流量。 Ubuntu 自带的防火墙配置工具被称为 UFW (Uncomplicated Firewall)。UFW 是一个用来管理 iptables 防火墙规则的用户友好的前端工具。它的主要目的就是为了使得管理 iptables 更简单,就像名字所说的,简单的…

    2023年3月17日
    1.9K00
  • Windows系统组策略文件配置异常导致组策略打开报错,如何处理?

    问题描述 在打开组策略时提示“组策略错误”。 问题原因 由于组策略文件配置异常,导致未能正常打开组策略对象。 解决方案

    2023年11月21日
    68000
  • 实验案例:LVM卷管理及配额设置

    实验环境 公司准备在Internet中搭建FTP服务器(CentOS 7.3 系统平台),面向全国各地的员工及部分VIP客户提供资料上传下载的空间。考虑动态扩容的需要,计划增加两块SCSI硬盘并构建LVM逻辑卷(挂载到/date目录下)专门用于存放电子邮件数据,并通过磁盘配额的方式限制用户的电子邮箱空间。 需求描述 采用LVM磁盘管理方案:添加两块SCSI硬…

    2024年6月25日
    1.2K00
  • DM工作笔记-DATEADD(指定日期添加n个时间段)函数和其他时间函数

    达梦官方文档已经说得很清楚了,在此仅记录下笔记,方便以后进行查阅。 DATEADD对应的相关文档如下: 这里说明下CREATE_TIME是TIMESTAMP类型。 如下例子: 运行截图如下: 现在有个需求,让CREATE_TIME添加,2秒,2分钟,2小时,2年。 对应的SQL如下: 运行截图如下: 如果再有这样的一个需求,离现在(当前时刻)2小时外的数据是…

    2023年12月27日
    1.8K00
  • pve系统崩溃,ceph集群节点不能加入问题处理

    本次故障缘起,pve系统盘突然坏了,导致ceph集群降级,重装pve系统后,发现ceph不能加入原有的集群,需要清除所有配置才可完成 首先需要从集群中删除故障ceph ceph的配置文件路径 /etc/ceph/ceph.conf 此次故障的节点是pve3,在一个正常的节点配置文件中删除故障的节点 同时需要在web页面 监视器中销毁之前故障的节点 osd销毁…

    2024年4月2日
    97600

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信