Linux服务器进程自动停止/终结

记录一个现场问题:Linux服务器中的服务进程莫名被杀死,或者启动失败

情况说明:现场是一台Linux的suse系统服务器,前一天客户反应服务有异常,登录查看发现所有的服务进程都没有启动,以为是客户重启服务器了,服务没启动,就重启了服务(4、5个服务),客户反应已经能够正常使用,就结束了。可是第二天一早现场又反应有问题,上去查看发现服务进程又没了,遂开始排查,下面主要记录自己当时的排查过程

1、我首先想到的是看服务器是不是有被重启过,但是发现服务器是没有被重启的近期。以下是几种常见的查看 Linux 服务器重启记录的方法:

  • 查看系统日志文件:
    cat /var/log/syslog | grep "System Reboot"
    这将显示包含 “System Reboot” 字符串的所有行,这些行通常指示系统重新启动的时间和原因。

  • 查看上次启动时间:
    last reboot
    这个命令会显示系统上次启动的时间,以及从上次启动到当前的运行时间。

  • 检查 /var/log/boot.log 文件:
    cat /var/log/boot.log
    这个文件记录了系统启动过程中的详细信息,包括启动时的各种服务和进程状态。

  • 检查 /var/log/dmesg 文件:
    dmesg | grep "systemd"
    这个命令会显示系统启动时的内核日志信息,包括关于系统启动过程的各种消息。

2、因为有4、5个服务要启动,前面1个启动成功后,再去启动后面的服务时发现启动失败,而且第一个启动的服务进程也被终止了,我先想到了是不是cpu或者磁盘空间不足,使用top或者free -h 我查看了cpu的占用率和磁盘使用情况,发现都没有什么问题

3、在Linux中要确定进程消失的确切原因,可以查看系统日志文件,例如 /var/log/syslog、/var/log/messages 或应用程序特定的日志文件,这些文件都会记录有关进程终止的信息和原因,我打开/var/log/messages文件发现里面有一行提示Not enough disk space for coredump of xxPid

4、经查询上面这个错误的原因表示磁盘空间不足,无法生成指定进程的 core dump 文件。而core dump 文件是在进程崩溃或异常终止时生成的,用于调试崩溃的原因,然而,如果磁盘空间不足,系统就无法生成这个文件。主要通过以下几种方式解决:

  1. 释放磁盘空间:首先,需要释放足够的磁盘空间,以便系统能够生成 core dump 文件。可以删除不必要的文件或移动文件到其他磁盘来释放空间。

  2. 调整 core dump 大小:可以通过修改系统的 core dump 配置来调整 core dump 文件的大小。可以通过 ulimit -c 命令来查看和修改 core dump 文件的大小限制。

  3. 禁用 core dump:如果不需要 core dump 文件,可以考虑禁用 core dump。这样,当进程崩溃时,系统将不会尝试生成 core dump 文件,从而避免磁盘空间不足的问题。

  4. 分析其他磁盘空间使用情况:除了释放磁盘空间外,还可以分析其他磁盘空间使用情况,以了解哪些文件或目录占用了大量空间,并采取相应的措施来释放空间。

  5. 优化磁盘空间管理:考虑对磁盘空间进行优化管理,定期清理不必要的文件、压缩文件、限制日志文件大小等,以确保磁盘空间充足。

5、使用ulimit -c查看 core dump的配置,输出unlimited

tips:如果输出值为 0,表示 core dump 文件生成已禁用。如果输出值为 -1,表示 core dump 文件大小没有限制。unlimited表示也没有限制。
core dump 文件大小限制为无限制,这意味着如果程序崩溃,将会生成无限制大小的 core dump 文件。这可能会导致磁盘空间被耗尽,因此在生产环境中需要谨慎使用。这也是我这边的原因

6、知道了原因就要进行修改,要么禁用core dump,但是这样不利于后续异常的排查,所以我选择设置固定大小的core dump来解决这个问题。

  • 要设置特定大小的 core dump 文件,请使用 ulimit -c 命令,后面跟上希望设置的大小(以 KB 为单位)。例如,要将 core dump 文件大小限制设置为 100 MB,可以执行以下命令:
ulimit -c 100000

这将限制 core dump 文件的大小为 100 MB。但是请注意,这只会影响当前会话中的 core dump 文件大小限制。 若要使更改永久生效,可能需要修改系统范围的配置文件(如 /etc/security/limits.conf)在文件末尾添加一行,指定希望设置的 core dump 大小限制,语法:

*    hard    core    [大小]

其中:

  • 表示适用于所有用户。
  • hard 表示这是硬限制,不能超过。
  • core 表示要限制的资源是 core dump 文件大小。
  • [大小] 是希望设置的 core dump 大小。可以使用 unlimited 表示无限制,也可以指定以 KB 为单位的大小。
    注意:修改配置文件后可能要重启服务器生效,重启后可使用 ulimit -c 来查看是否生效

最后,每个人的情况可能不一样,我主要记录我的排查过程,供有需要的小伙伴参考指正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/780999.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

K8S Pod 水平自动扩缩容 HPA

介绍 HPA(Horizontal Pod Autoscaler)水平扩缩意味着可根据观察到的CPU、内存使用率或自定义度量标准来自动扩展或缩容Pod的数量(Deployment、StatefulSet 或其他类似资源)。与“垂直”扩缩不同,对于 K8S,…

canvas跟随鼠标画有透明度的矩形边框

提示&#xff1a;canvas跟随鼠标画有透明度的矩形边框 文章目录 前言一、跟随鼠标画有透明度的矩形边框总结 前言 一、跟随鼠标画有透明度的矩形边框 test.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">&…

【动手学深度学习-pytorch】9.2长短期记忆网络(LSTM)

长期以来&#xff0c;隐变量模型存在着长期信息保存和短期输入缺失的问题。 解决这一问题的最早方法之一是长短期存储器&#xff08;long short-term memory&#xff0c;LSTM&#xff09; (Hochreiter and Schmidhuber, 1997)。 它有许多与门控循环单元&#xff08; 9.1节&…

HTX Ventures:为什么BounceBit可能成为新的BTC生态解决方案?

随着BTC现货ETF的通过&#xff0c;全球各大机构和个人都在不断加码对BTC的持仓&#xff0c;BTC价格也随之上升&#xff0c;目前已上升至全球市值排名前十的资产。在本轮市场周期中&#xff0c;BTC铭文和BTC扩容是两个被市场高度关注的细分赛道。BTC生态资产的多元化收益探索正在…

mydumper和myloader对MySQL数据备份和恢复

安装教程省略 一、mydumper数据备份 mydumper -u root -p 123456 -P 3306 -B db1 -o /data/20240329root&#xff1a;数据库用户名 123456&#xff1a;密码 3306&#xff1a;端口 db1&#xff1a;数据库库名 /data/20240329&#xff1a;导出的备份文件存放位置 导出的数据文…

Django详细教程(一)

文章目录 一、安装Django二、创建项目1.终端创建项目2.Pycharm创建项目&#xff08;专业版才可以&#xff09;3.默认文件介绍 三、创建app1.app介绍2.默认文件介绍 四、快速上手1.写一个网页步骤1&#xff1a;注册app 【settings.py】步骤2&#xff1a;编写URL和视图函数对应关…

mysql权限相关操作

创建mysql用户并开通某数据库的特定权限 CREATE USER username% IDENTIFIED BY 123456; GRANT INSERT,DELETE,UPDATE,SELECT ON xxxdb.* TO username%; GRANT ALL PRIVILEGES ON caieinstitute.* TO caie%;//给全部管理权限 修改某用户登录所需使用的IP select * from user w…

面试题:@Component, @Service, @Repository, @Controller 注解的区别与用途

在Spring框架中&#xff0c;Component, Service, Repository, 和 Controller 都是用来标记Bean并将其纳入Spring IoC容器管理的注解&#xff0c;它们的主要区别在于用途和语义上的强调&#xff0c;旨在提高代码的可读性和更好的组织架构。 1. Component - 用途这是Spring中定…

基于微信小程序的校园服务平台设计与实现(程序+论文)

本文以校园服务平台为研究对象&#xff0c;首先分析了当前校园服务平台的研究现状&#xff0c;阐述了本系统设计的意义和背景&#xff0c;运用微信小程序开发工具和云开发技术&#xff0c;研究和设计了一个校园服务平台&#xff0c;以满足学生在校园生活中的多样化需求。通过引…

最优算法100例之13-输出第n个丑数

专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html 题目描述 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当…

使用Hive对HDFS中数据查询的优点

目录 摘要一、Hive是什么二、HDFS是什么三、Hive与HDFS的关系四、什么是HiveQL五、什么是mapreduce六、Hive如何将查询转为mapreduce任务七、Hadoop生态系统中的高性能引擎八、使用Hadoop的优点 摘要 Hadoop生态系统中包含了多个关键组件&#xff0c;如Hive、HDFS、MapReduce等…

Typora:一款值得尝试的Markdown编辑器

引言&#xff1a; 随着博客的兴起&#xff0c;越来越多的人开始写博客。而Markdown作为一种轻量级标记语言&#xff0c;因其简洁、易读、易写、易转换等特点而被广泛使用。Markdown的语法简单易学&#xff0c;使用起来也比较方便。但是&#xff0c;为了更好地使用Markdown&…

3.滑行。

3.滑行 - 蓝桥云课 (lanqiao.cn) 问题描述 小蓝准备在一个空旷的场地里面滑行&#xff0c;这个场地的高度不一小蓝用一个n行m列的矩阵来表示场地&#xff0c;矩阵中的数值表示场地的高度 如果小蓝在某个位置&#xff0c;而他上、下、左、右中有一个位置的高度(严格)低于当前的高…

目标检测评价标准

主要借鉴&#xff1a;https://github.com/rafaelpadilla/Object-Detection-Metrics?tabreadme-ov-file 主要评价指标、术语&#xff1a; Intersection Over Union (IOU)&#xff1a;两个检测框交集面积与并集面积的比值 True Positive (TP)&#xff1a;IOU大于阈值的检测框…

Elasticsearch入门及常用命令和Spring中的常用操作

入门 官网 简介 一个分布式的、Restful风格的搜索引擎。支持对各种类型的数据的检索。搜索速度快&#xff0c;可以提供实时的搜索服务。便于水平扩展&#xff0c;每秒可以处理PB级海量数据。 常用术语 索引&#xff1a;与MySQL数据库中的Database相对应类型&#xff1a;与…

Unity中如何实现草的LOD

1&#xff09;Unity中如何实现草的LOD 2&#xff09;用Compute Shader处理图像数据后在安卓机上不能正常显示渲染纹理 3&#xff09;关于进游戏程序集加载的问题 4&#xff09;预制件编辑模式一直在触发自动保存 这是第379篇UWA技术知识分享的推送&#xff0c;精选了UWA社区的热…

pycharm修改主题颜色和注释颜色

目录 一、修改主题颜色 二、修改注释颜色 一、修改主题颜色 总结的来说就是&#xff1a;File-Settings-Appearance-Theme。 有三种主题&#xff1a; Darcula&#xff1a;默认主题&#xff0c;可以看作是黑的&#xff1a; IntelliJ Light:可以看作是白的&#xff1a; High con…

DeepFaceLive换脸小白教程,看这一篇就玩了

先官网下个软件DeepFaceLive - DeepfakeVFX.com 解压安装程序&#xff0c;准备安装&#xff0c; 解压&#xff0c;注意不要有中文路径&#xff01;

海外媒体发稿:如何选择适合自己的海外媒体推广发稿平台-华媒舍

在数字化时代&#xff0c;海外媒体推广成为企业扩大国际影响力的重要方式之一。海外媒体平台琳琅满目&#xff0c;如何选择适合自己的平台成为了一个需要深入理解和研究的问题。本文将以科普的方式介绍如何选择适合自己的海外媒体推广发稿平台。 1. 形象建立 要选择能够准确展…

SpringBoot 使用【AOP 切面+注解】实现在请求调用 Controller 方法前修改请求参数和在结果返回之前修改返回结果

前情提要 在项目中需要实现 在请求调用 Controller 方法前修改请求参数和在结果返回之前修改返回结果。 我们可以使用 AOP 切面注解的形式实现。这样我们就可以在不修改原始代码的情况下&#xff0c;通过切面类在方法调用前后插入额外的逻辑。 解决方案 自定义注解 PreProc…