zoukankan      html  css  js  c++  java
  • 进程退出原因

    应用部署在Linux环境下,如果出现未知原因导致应用进程被杀(应用日志中没有任何异常现象,日志出现中断现象),如果对于进程消失原因没有特别明确的方向,可以考虑从系统日志(/var/log/messages)方面查找原因。 命令参考

    egrep -i 'killed process' /var/log/messages

    ## 或:
    egrep -i -r 'killed process' /var/log

    ## 或:
    journalctl -xb | egrep -i 'killed process'

    ## 或:
    dmesg | egrep -i -B100 'killed process'

    ## 或:
    cat /var/log/messages | grep Kill
    若是发现没有/var/log/messages文件,解决方法参考 https://blog.csdn.net/C_Major/article/details/51321684

    日志示例
    [root@abc bin]# dmesg | egrep -i -B100 ‘killed process’
    ……
    省略部分日志
    ……
    [5979106.650296] Out of memory: Kill process 1392 (java) score 892 or sacrifice child
    [5979106.650361] Killed process 1392 (java) total-vm:3794656kB, anon-rss:1727856kB, file-rss:0kB

    [root@abc bin]# egrep -i ‘killed process’ /var/log/messages
    Oct 16 22:06:39 iZm5e3cpdh44ekrxg7q4nzZ kernel: Killed process 1392 (java) total-vm:3794656kB, anon-rss:1727856kB, file-rss:0kB

    说明
    通常在多应用集中部署在一台机器上,管理不当或应用压力突增情况下容易出现该问题,Linux系统在内存不足等条件下会主动干预进程(OOM-Killer机制)。在多实例应用部署时,需要注意对内存的分配。

    二、可能系统重启造成进程没了
    最近发现每隔一段时间,某一台机器线上的服务总是挂掉,进程直接就消失了,通过执行last reboot 查看机器最近都什么时间是否重启过,发现机器竟然有好多重启记录。

    提供几种最简便的查看上一次系统的启动时间或者系统到现在已经运行了多长时间:

    1.who命令:

    2.last reboot命令

    3.top命令:


    系统启动到现在运行了多长时间,来推断重启是在哪一天
    4.uptime命令:


    跟top是一样的
    5.w命令


    跟top也是一样的
    ————————————————
    版权声明:本文为CSDN博主「王卫东」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/wwd0501/article/details/100041808

    有时候,不小心知道了一些事,才发现自己所在乎的事是那么可笑。
  • 相关阅读:
    RabbitMQ系列教程之七:RabbitMQ的 C# 客户端 API 的简介
    RabbitMQ系列教程之六:远程过程调用(RPC)
    git无法提交,存在未提交的修改,在重新合并前或者撤销更改
    安装mysql提示3306端口已经被占用解决方案
    区块链学习一基本知识
    超级账本 --- ReadWriteSet的逻辑结构
    解决windows10 里vs2015 附件进程调试提示“此任务要求应用程序有提升的权限”
    Fabric V1 交易的生命周期
    sql 取首次投资的人
    Win10年度更新开发必备:VS2015 Update 3正式版下载汇总
  • 原文地址:https://www.cnblogs.com/axjlxy/p/15196764.html
Copyright © 2011-2022 走看看