Linux的tmp目录占用空间100%问题分析和解决

一、背景

系统运行期间,客户突然反馈上传文档传不上去。研发立马排查日志,发现日志中出现大量的“No space avaliable on disk”,下意识应用服务器磁盘满了,赶快连上服务器查看磁盘空间占用情况:

黑人问号脸??磁盘占用还好啊,都是10%以下,咋会满呢?联系我后,我说运行“df -i”试试,果不其然:

为什么“df -Th”看tmp磁盘还好,看“df -i”时就占用100%呢?

二、原理分析:

“df -Th”主要是以磁盘物理空间占用情况以用户易读易理解的方式进行输出;

而“df -i”则主要显示文件系统inode的使用情况,inode是文件系统用于存储文件元数据的数据结构,每个文件和目录都会占用一个inode,这个命令对于检查系统是否因为inode耗尽而无法创建新文件非常有用。

综合以上线索,的确是因为inode耗尽,导致的业务系统上传文件失败的问题。

三、如何解决:

快速清理tmp,先恢复业务:

-- 快速清理1天前的tmp文件

find /tmp -mtime +1 -name "tomcat*" | xargs rm -rf

默认/tmp目录操作系统配置的是30天自动清理一次,该时间可以自行调整,不同linux操作系统通过不同方式来调整:

在 Debian-like 的系统,启动的时候才会清理 (规则定义在 /etc/default/rcS )

在 RedHat-like 的系统,按文件存在时间定时清理 (RHEL6 规则定义在 /etc/cron.daily/tmpwatch ; RHEL7 以及 RedHat-like with systemd 规则定义在 /usr/lib/tmpfiles.d/tmp.conf , 通过 systemd-tmpfiles-clean.service 服务调用)

在 CentOS 里,是按文件存在时间清理的 (通过 crontab 的配置 /etc/cron.daily 定时执行 tmpwatch 来实现)

在 Gentoo 里也是启动清理,规则定义在 /etc/conf.d/bootmisc ,但 Gentoo 就是不走寻常路

四、问题复盘:

分析为什么tmp目录会涨的如此快,可以通过“lsof /tmp”来分析哪些进程在持有/tmp目录下的文件资源不释放。

通过这个命令,我分析出来我们业务系统主要就是日志分片太频繁,且在一台服务器上部署应用服务太多,多个系统服务同时产生大量分片的日志文件,短时间之内快速把tmp目录的inode资源耗尽。

相关推荐

  1. Linuxtmp目录

    2024-07-11 13:32:03       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 13:32:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 13:32:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 13:32:03       58 阅读
  4. Python语言-面向对象

    2024-07-11 13:32:03       69 阅读

热门阅读

  1. 网络协议 | 计算机网络基础学习笔记

    2024-07-11 13:32:03       18 阅读
  2. 【Axure高保真原型】输入表单——回车键切换

    2024-07-11 13:32:03       21 阅读
  3. c与c++ 常用的字符与字符串处理的接口介绍:

    2024-07-11 13:32:03       25 阅读
  4. AT32单片机踩坑记录

    2024-07-11 13:32:03       23 阅读
  5. 西门子总线插头6ES7972-0BB41-0XA0

    2024-07-11 13:32:03       19 阅读
  6. ActiViz中的过滤器vtkLinearExtrusionFilter

    2024-07-11 13:32:03       24 阅读
  7. R 数据重塑

    2024-07-11 13:32:03       20 阅读
  8. MySQL InnoDB存储引擎

    2024-07-11 13:32:03       24 阅读
  9. Linux上将图片转换为PDF

    2024-07-11 13:32:03       23 阅读
  10. PDF预览功能

    2024-07-11 13:32:03       23 阅读
  11. 什么是CNN,它和传统机器学习有什么区别

    2024-07-11 13:32:03       20 阅读