• k8s 中Java docker 容器被kill,日志仅仅出现Killed


    java 容器启动到一半,突然就死掉了,查看日志,发现“ killed ”

    why? 凭感觉是 容器需要的内存超过了 k8s 的限制,被k8s 杀掉了, 但是竟然k8没有日志。 好吧,可能是我不会查看k8s 的日志。

    试了两个方法:

    1、内核日志 /var/log/messages
    dmesg打印环形缓冲区的内容。这些信息还会实时发送到syslogd或klogd(在它们运行时),最终以形式发送给/var/log/messages;什么时候dmesg最有用是捕获之前syslogd和/或klogd开始的启动时消息,以便将它们正确记录。
    2、dmesg | grep -i -B100 'killed process'
    一旦设置了内存限制,将立即生效,并且当物理内存使用量达到limit的时候,memory.failcnt的内容会加1,但这时进程不一定就会被kill掉,内核会尽量将物理内存中的数据移到swap空间上去,如果实在是没办法移动了(设置的limit过小,或者swap空间不足),默认情况下,就会kill掉cgroup里面继续申请内存的进程。
     
     
     
    基本找到原因,后面修改yaml, 把内存放大了点,就没有了这个错误!


    参考:
    https://www.jianshu.com/p/a9288b7edfa3

    http://www.dockone.io/article/5932

    https://blog.csdn.net/u012516914/article/details/109108660


    版权声明
    本文原创发表于 博客园,作者为 阿K .     本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
    欢迎关注本人微信公众号:觉醒的码农,或者扫码进群:

  • 相关阅读:
    [方法] 如何做产品功能设计
    js如何去除一个数组中与另一个数组中的值相同的元素
    js 导出Excel2
    js 导出Excel
    CSS3动画
    没有欲望是一种什么样的感觉
    L9-DOM高级应用
    L8-DOM操作应用
    L7-DOM基础
    L6-js定时器的应用
  • 原文地址:https://www.cnblogs.com/FlyAway2013/p/15554416.html
Copyright © 2020-2023  润新知