磁盘报警。分区磁盘容量已经占用超过80%。同一批上线的几台机器都没报警。而且离报警阀值还差很远。

大概的排查步骤如下:

首先,查找导致磁盘报警的大文件

$ find /home/ -type f -size +100M
/home/demo/web/demo/api/core.7982
/home/demo/web/demo/api/core.10035
.....................
此处省略N多行
.....................

看来是core dump文件过多导致的。

找出产生core dump文件的元凶

$ gdb -c /home/demo/web/demo/api/core.7982
GNU gdb Fedora (6.8-37.el5)
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
(no debugging symbols found)
Core was generated by `php-fpm: pool www

很显然,最后一行Core was generated by `php-fpm: pool www 已经告诉我们,是php-fpm 产生的。
通过以下命令查看,php-fpm的确有core dump的权限。

$cat /proc/7360/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 10485760 unlimited bytes
Max core file size unlimited unlimited bytes

注意,最后的的 Max core file size 为 unlimited。一般情况下,这个值为unlimited,就可以生成core dump文件。
如果关闭core dump ?
一般设置core file size 是使用 ulimited -c unlimited 命令。在登陆时默认执行的一些文件中,没有找到这个命令的影子。
最终在/etc/security/limits.conf 文件中看到了如下设置:

* soft core unlimited* hard core unlimited 

果断注释掉,然后重启php-fpm 进程。再次查看进程的limit信息。

Limit Soft Limit Hard Limit UnitsMax cpu time unlimited unlimited secondsMax file size unlimited unlimited bytesMax data size unlimited unlimited bytesMax stack size 10485760 unlimited bytesMax core file size 0 unlimited bytes 

看来文件修改已经生效。

删除core文件,释放空间
删除后,磁盘空间占用马上降到了50%左右。

注意:
发现虽然/etc/security/limits.conf文件中设置了 core unlimited。但是通过unlimit -a 查看。core 的也是 0。

core dump磁盘报警问题排查过程相关推荐

  1. 记一次.Net Core程序启动失败的排查过程

    阅文时长 | 2分钟 字数统计 | 3212字符 主要内容 | 1.引言&背景 2.排查.NetCore启动失败详细过程 3.声明与参考资料 『记一次.Net Core程序启动失败的排查过程』 ...

  2. 记一次PyQT5 core dump调试过程

    1. 首先设置系统允许生成core dump文件 步骤一:开启core dump文件生成 ulimit -c unlimited 步骤二:设置core dump文件位置 vi /etc/sysctl. ...

  3. 记一次线上服务假死排查过程

    大家好,我是烤鸭: 最近线上问题有点多啊,分享一个服务假死的排查过程. 问题描述 9点10分,收到进程无响应报警(一共6台机器,有1台出现),后来又有1台出现. 排查思路 首先确认是否误报或者网络抖动 ...

  4. 记一次kafka集群频繁crash的排查过程

    01 概述 kafka集群中的某些broker会随机重启,并且重启没有什么规律.broker重启对于client端使用层面是无感知的,但是在数据一致性.稳定性方面存在风险.broker重启时,连接在这 ...

  5. java gc full gc_记一次Java服务频繁Full GC的排查过程

    现象 从监控来看,堆内存是够用的,但是频繁触发Full GC,每秒钟三次,每次耗时三四秒. image.png 结合Young GC的信息和堆内存的使用情况,可以发现新生代的内存够用,老生代的内存不够 ...

  6. Linux上Core Dump文件的形成和分析

    Core,又称之为Core Dump文件,是Unix/Linux操作系统的一种机制,对于线上服务而言,Core令人闻之色变,因为出Core的过程意味着服务暂时不能正常响应,需要恢复,并且随着吐Core ...

  7. java cms cpu占用率_cpu使用率过高和jvm old占用过高排查过程

    今天断断续续的收到管理平台的异常报警,cpu占用过高和jvm old占用过高,这个时候赶紧去排查原因,下面记录了我的排查过程,可能里面还有不正确的地方,欢迎各位大佬指正,也欢迎大家关于类似的案例一起交 ...

  8. JDK core dump分析

    Java项目一般使用jstack, jmap等Java工具都可以分析进程bug,但是有时候jvm自身异常退出,此时往往没有hprof文件,而是生成了core文件,特别是在使用JNI技术的项目中,这时候 ...

  9. 记一次线上cpu飙升100%的排查过程

    大家好,我是烤鸭: 最近没怎么写技术文章,还是得回归下初心,正好前几天出现个线上问题,记录下排查过程. 问题描述 某个时间点,接收到接口响应慢报警. 过一会收到服务器cpu可用率低(<10%)报 ...

最新文章

  1. 1-VMware workstation认识
  2. win下python环境搭建以及安装pip、django
  3. Objective-C学习中对 C语言的扩展
  4. 无法初始化链接服务器 (null) 的 OLE DB 访问接口 Microsoft.Jet.OLEDB.4.0 的数据源对象。
  5. java 可插拔注解_20200311 8. 注解和可插拔性
  6. 很多人想不通为什么创业失败者众成功者少
  7. oracle undo seg,正确切换undo
  8. Java项目毕业设计:基于springboot+vue的旧物置换网站
  9. 西安交大计算机2000年山西专业录取分数,西安交通大学分数线-2017年各省各专业录取分数线(历年分数线查询)...
  10. Edison 物联网:使用MRAA发挥平台输入输出能力
  11. linux操作系统——linux删除个人账户密码
  12. Spring bean销毁的过程
  13. 用Excel进行个人敏捷项目看板管理
  14. SQLPro for SQLite for Mac(SQLite编辑器)
  15. 一起了解Windows——用Win10自带工具录制视频
  16. 【软件测试之测试方案】
  17. uniapp-小程序点击底部导航跳转并刷新页面
  18. 【项目精选】jsp企业快信系统(论文+视频+源码)
  19. JTAG and Boundary Scan(zz)
  20. 【Tools】dnw烧录配置

热门文章

  1. 【Android】Android studio做一个简单的图片浏览器
  2. robotstudio试用期延长总结
  3. mysql 函数返回类型set_mysql自定义函数如何返回多个值
  4. VSCode 居然是个娱乐软件?让你 high 到爆的几款插件
  5. Source Insight乱码解决方案
  6. 基于html5的音乐网站开题,开题报告——基于HTML5的音乐网站.doc
  7. 上班一个月挣10万,居然全靠它...
  8. 《SAP HANA平台应用开发》—第2章2.1节熟悉HANA开发环境
  9. 华为MateBook E 12.6英寸 win11 16g+512g 轻评测
  10. /etc/security/limits.conf 控制文件描述符,进程数,栈大小等