一次 JVM 进程退出的原因分析
最近我们在测试把 APM 平台迁移到 ES APM,有同学反馈了一个有意思的现象,部署在 docker 中 jar 包项目,在新版 APM 里进程启动完就退出了,被 k8s 中无限重启。 这篇文章写了一下排查的思路,主要包含了下面这些内容。...
最近我们在测试把 APM 平台迁移到 ES APM,有同学反馈了一个有意思的现象,部署在 docker 中 jar 包项目,在新版 APM 里进程启动完就退出了,被 k8s 中无限重启。 这篇文章写了一下排查的思路,主要包含了下面这些内容。...
这篇文章是介绍一下线程与栈相关的话题,文章比较长,主要会聊聊下面这些话题: 进程与线程的本质区别,线程与内存共享 Linux pthread 与 Guard 区域 Hotspot 线程栈的 Guard 区域实现原理 你可能没有怎么听说过的 ...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
历时将近一年,我的第一本书《深入理解 JVM 字节码》终于出版了。 这本书的思路来源是掘金的小册子《JVM 字节码从入门到精通》,这本小册是我的第一个技术专栏,也是抱着为自己总结的心态把自己在 JVM 字节码的知识沉淀一下。在掘金上线后,虽...
线上有一个非常繁忙的服务的 JVM 进程 CPU 经常跑到 100% 以上,下面写了一下排查的过程。通过阅读这篇文章你会了解到下面这些知识。 Java 程序 CPU 占用高的排查思路 可能造成线上服务大量异常的 log4j 假异步 Kafk...
这篇文章聊聊 Linux 中 D 状态的进程与平均负载的关系,通过阅读本文,你会了解到这些东西。 D 状态的进程是什么 如何编写内核模块模拟 D 状态进程 Linus 对 D 状态进程的看法 平均负载的概念 在 top 和 uptime 命...
RocketMQ 在我们的项目中使用非常广泛,在使用的过程中,也遇到了很多的问题。比如没有多环境的隔离,在多个版本同时开发送测的情况下,互相干扰严重。RocketMQ 的投递可能会失败,导致丢失消息。另外开源版本的 RocketMQ 不支持...
我们的定时任务、异步 MQ 的 jar 包程序等都会使用 System.in.read() 等阻塞程序,防止程序退出,在本地测试一直都没有问题,直到有同学反馈,线上 Docker 环境中代码 System.in.read() 没有阻塞,执行...
在最近的一次百万长连接压测中,32C 128G 的四台 Nginx 频繁出现 OOM,出现问题时的内存监控如下所示。 排查的过程记录如下。 现象描述 这是一个 websocket 百万长连接收发消息的压测环境,客户端 jmeter 用了上百...
学习 RocketMQ,需要搞懂两个东西:通信和存储。这里花了一点时间写了一个 RocketMQ 的 wireshark lua 插件,过程挺有意思,写出来记录一下。 通过阅读这篇文章,你会了解到下面这些知识。 wireshark lua ...
关于三次握手,还有很多细节之前的文章没有详细介绍,这篇文章我们以 backlog 参数来深入研究一下建连的过程。通过阅读这篇文章,你会了解到下面这些知识: backlog、半连接队列、全连接队列是什么 linux 内核是如何计算半连接队列、...