记一次守护日志导致硬盘空间告警问题

问题

后台守护进程高频写日志导致硬盘空间频繁报警, 直接删除日志文件硬盘空间依然增长.

初步分析为日志文件当前状态为open状态, 当文件open以后,系统就以inode号码来识别这个文件,不再考虑文件名.删除一个已open日志文件, 只是影响到文件系统中inode引用链接数, 并未影响进程已打开文件inode文件数据block, 写操作依然有效, 导致硬盘空间不断增长.

解决方法1

通过proc文件系统( /proc/pid/fd ) 获取进程运行中文件句柄链接进而获取实际关联的文件名称, 并强制使用 ‘> fd’ 清空日志.

pidof xxx
ls -l /proc/pid/fd/
lrwx------    1 root     root            64 May 24 10:39 0 -> /tmp/2018-04-19_205225.log (deleted)
lrwx------    1 root     root            64 May 24 10:39 1 -> /tmp/2018-04-19_205225.log (deleted)
lrwx------    1 root     root            64 May 24 10:39 2 -> /tmp/2018-04-19_205225.log (deleted)
...
(deleted) 标识日志文件已删除> 2
强制清空日志

解决方法2

重定向当前进程日志文件句柄到 /dev/null. 这里需要一个工具reredirect, 可以将运行中进程文件句柄直接重定向到指定文件或者文件句柄. 其实现原理为通过 ptrace attach 到运行中进程, 调用 syscall dup dup2 重定向指定文件句柄即可.

reredirect -N -m /dev/null pid 

-N 不恢复原来文件句柄.

记一次守护日志导致硬盘空间告警问题相关推荐

  1. Sqlserver 错误日志太大导致硬盘空间不足

    Sqlserver 数据库因长时间使用,错误日志过大导致硬盘空间不足. 解决办法:清除Sqlserver错误日志 1.新建查询 2.选择master 3.执行 sp_cycle_errorlog 六次 ...

  2. Boot Camp分区时强制终止导致硬盘空间消失的解决方法

    问题描述 昨天笔者在Mac上安装双系统时,因为时间太久,而我想睡觉了,所以在bootcamp在分区的时候强制关闭了电脑.早上起来之后发现磁盘空间少了100G(分给Windows的空间),而且这个分区不 ...

  3. 记一次Linux虚拟机硬盘空间不足的处理方案

    记一次Linux虚拟机硬盘空间不足的处理方案 **起因:**公司的服务器是windows的,而我需要一个基于Linux的dev环境,于是用vmvare创建了一个centos7的系统实例,里面安装mys ...

  4. 计算机硬盘空间不足怎么删,Win10硬盘空间不足?教你这样清理,瞬间多出10个G!...

    俗话说得好,工欲善其事必先利其器! 电脑作为我们使用的重要工具,不好好的对待,是很有可能导致一些不好的事情频频发生滴~ 比如你游戏放大招的时候,突然一卡,血没了:或者正在编辑重要的资料,突然一卡,页面 ...

  5. MySQL存储引擎 lnnoDB逻辑架构 innodb存储引擎表空间(ibd文件)详解 回滚日志的物理空间

    文章目录 存储引擎 一 MySQL组织架构 二 查看存储引擎信息 三 修改存储引擎 3.1 配置文件修改存储引擎 3.2 临时修改存储引擎 3.3 建表时修改存储引擎 四 存储引擎实验 五 数据库升级 ...

  6. 记一次 superblock 损坏导致服务器无法启动的故障修复

    原文地址:http://www.cppblog.com/dancefire/archive/2011/03/09/fix-bad-superblock-in-linux.html 前几天接到朋友联系, ...

  7. 哪些软件问题也可导致硬盘录像机死机

    硬盘录像机死机除了一些硬件上的问题之外,也有不少是由软件引起的.如: 1.病毒感染 病毒是计算机操作的大患,几乎人人恶之.病毒可以使计算机工作效率急剧下降,造成频繁死机.数据丢失.系统崩溃,甚至损坏主 ...

  8. VMware 下扩展linux硬盘空间

    linux下扩展硬盘有非常多种方式,在扩展之前.尽量看看自己的空间存在的有哪些盘,然后再进行扩展. 假设是扩展的话,磁盘的符号和已经有的符号一样,比方都是sda的设备,知识分区不同.可能是sda3 s ...

  9. linux系统加硬盘容量,Linux系统扩展硬盘空间

    最近在编译内核的时候,遇到了/usr/src/硬盘空间不足的问题,此前遇到硬盘分区的问题总是用图形化工具进行,这样虽然高效可是总感觉太傻瓜,正好凑着这个机会总结一下. Linux相关命令介绍 本文主要 ...

  10. linux 硬盘报错日志,Linux内核I_O系统报错日志与硬盘故障对应关系

    Linux 内核I/O 系统报错日志与硬盘故障对应关系 Jun04 2011Leave a Comment Written by chen 日志信息 故障现象描述 与硬盘关系 scsi1: ERROR ...

最新文章

  1. java输出回文数原代码_JAVA怎么用循环语句编写一个判别是否为回文数的代码?...
  2. 病毒周报(071029至071104)
  3. [摘录]遇见未知的自己(一)
  4. MyEclipse 破解文件 run.bat闪退
  5. linux下mysql主从同步是主从i/o线程显示为no_mysql主从同步IO线程NO
  6. android 名片识别 简书,iOS 自己实现 名片识别 三 图片处理
  7. 迁移 Docker 到其它磁盘目录
  8. 今天又遇到了一个问题
  9. PyCharm——Youki觉得好用的快捷键~
  10. 数据结构HashMap(Android SparseArray 和ArrayMap) 1
  11. 免费的录屏软件,来试试这一款软件吧!
  12. 在线Cron在线表达式生成器工具推荐【磁钉cron生成器】
  13. C#:实现读取网卡信息
  14. C++ 求解最小公倍数
  15. 鞋子微商怎么做qq引流?微商如何通过QQ空间引流
  16. 【Python零基础到入门】Python基础语法篇——基本数据类型【文末送书】
  17. Excel用函数把时间戳格式和日期格式相互转换
  18. 微信小程序提交上线时 定位接口提示未配置
  19. 宝塔服务器源代码修改记录,宝塔BT面板修改相关记录,所有插件免费用
  20. 动态建树之——查字典

热门文章

  1. el-input只能输入数值和小数点,并且不显示上下箭头
  2. datax 不识别字段过滤_初效空气过滤器种类
  3. cad直线和圆弧倒角不相切_建议收藏:史上最全CAD快捷键大全
  4. 线性判别用于提取词向量_各种机器学习算法的应用场景分别是什么(比如朴素贝叶斯、决策树、K 近邻、SVM、逻辑回归最大熵模型)?...
  5. pyqt5 qwidget有父类窗口如何设置模态_实战PyQt5: 024-Qt Designer进阶一
  6. 移植php,PHP交叉编译和移植
  7. docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署
  8. odbc中不显示oracle,oracle:odbc无法提供初始化
  9. CentOS 7.6网络配置
  10. MySQL(6)-----数据类型