使用Top_X插件排查内存过载问题
Top命令是Linux 系统下常用的监控工具,用于实时获取进程级别的 CPU 或内存使用情况。XPocket中的Top_X为Linux Top的增强版,可以显示CPU占用率/负载,CPU及内存进程使用
【活动结果公布:兑奖见置顶评论】每日一签到,解锁你的PerfMa壕礼
叮......Perfma达人福利发车啦!社区每日签到解锁活动上线啦~除了每日签到必得积分奖励外,还为大家增加了壕礼相赠、解锁Perfma终极大奖等环节奖励 ~来Perfma社区留下你的签到足迹,告诉
又发现一个导致JVM物理内存消耗大的Bug(已提交Patch)
概述 最近我们公司在帮一个客户查一个JVM的问题(JDK1.8.0_191-b12),发现一个系统老是被OS Kill掉,是内存泄露导致的。在查的过程中,阴差阳错地发现了JVM另外的一个Bug。这个B
分享一次排查CLOSE_WAIT过多的经验
作者:踩刀诗人原文链接:https://www.cnblogs.com/chopper-poet/p/14618391.html 问题背景某日下午有测试人员急匆匆的跑来跟我反馈:“有客户反馈供应商附件
LONG究竟有多长,从皇帝的新衣到海康SDK
转眼之间初中毕业30年了,但我仍清楚的记得初中英语的一篇课文,题目叫《皇帝的新装》(“The king’s new clothes”)。这篇课文的前两句话是:”Long long ago, there
CPU 优化高级篇:Java  CPU 高的原因和排查方法  :如何定位Java  消耗CPU最多的线程
之前有朋友反馈说发的内容希望有个梯度,逐步加深,前面发了几篇关于jvm源码分析的文章,可能我觉得我已经把内容写得浅显易懂了,但是对于某些没怎么接触的同学来说还是比较难理解,这个我以后慢慢改进吧,今天发
记一次日志pattern参数设置不合理导致高CPU问题的排查
此问题是在为客户的系统进行压测时发现的,为了降低性能风险,对其进行了分析和改进。分享此案例也希望能给同学们一些启发和提醒。 问题现象:压测过程中发现应用服务器CPU消耗较高 分析过程: 首先根据链路/
内存泄漏(增长)火焰图
本文总结了在分析内存增长和内存泄漏问题用到的4种追踪方法得到有关内存使用情况的代码路径,使用栈追踪技术对代码路径进行检查,并且会以火焰图的形式把它们可视化输出,在Linux上演示分析过程,随后概述其它系统的情况。
关于内存溢出,咱再聊点有意思的?
概述 上篇文章讲了JVM在GC上的一个设计缺陷,揪出一个导致GC慢慢变长的JVM设计缺陷,可能有不少人还是没怎么看明白的,今天准备讲的大家应该都很容易看明白 本文其实很犹豫写不写,因为感觉没有
一次线上服务高 CPU 占用优化实践
线上有一个非常繁忙的服务的 JVM 进程 CPU 经常跑到 100% 以上,下面写了一下排查的过程。通过阅读这篇文章你会了解到下面这些知识。- Java 程序 CPU 占用高的排查思路- 可能造成线上
Java8 Stream源码分析
Stream Stream是在Java SE 8 API添加的用于增强集合的操作接口,可以让你以一种声明的方式处理集合数据。将要处理的集合看作一种流的创建者,将集合内部的元素转换为流并且在管道中传
谨防JDK8重复类定义造成的内存泄漏
概述 如今JDK8成了主流,大家都紧锣密鼓地进行着升级,享受着JDK8带来的各种便利,然而有时候升级并没有那么顺利?比如说今天要说的这个问题。我们都知道JDK8在内存模型上最大的改变是,放弃了Perm
spring boot 引起的 “堆外内存泄漏”
背景组内一个项目最近一直报swap区域使用过高异常,笔者被叫去帮忙查看原因。发现配置的4G堆内内存,但是实际使用的物理内存高达7G,确实有点不正常,JVM参数配置是:```java-XX:Metasp
从CMS到G1:LinkedIn个人主页调优实战
LinkedIn中的个人主页是访问量最多的页面之一,它允许其他人访问你的个人主页,从而了解你的专业技能,经验和兴趣等: 所以,确保用户访问主页时以最快的速度返回是非常重要的。这篇文章,将谈论Li
一次压缩引发堆外内存过高的教训
一、项目介绍lz_rec_push_kafka_consume该项目通过kafka与算法进行交互,通过push推荐平台(lz_rec_push_platform)预生成消息体。 二、问题背景发现项目的
分析和解决JAVA 内存泄露的实战例子
这几天,一直在为Java的“内存泄露”问题纠结。Java应用程序占用的内存在不断的、有规律的上涨,最终超过了监控阈值。福尔摩 斯不得不出手了! 分析内存泄露的一般步骤 如果发现Java应用程序占用的内
记一次JVM堆外内存泄露Bug的查找
前言JVM的堆外内存泄露的定位一直是个比较棘手的问题。此次的Bug查找从堆内内存的泄露反推出堆外内存,同时对物理内存的使用做了定量的分析,从而实锤了Bug的源头。笔者将此Bug分析的过程写成博客,以飨
改善 Kubernetes 上的 JVM 预热问题
JVM 预热是一个非常头疼而又难解决的问题。本文讨论了在运行在 Kubernetes 集群中的 Java 服务如何解决 JVM 预热问题的一些方法和经验。 作者:Vikas Kumar 翻译:Bach
记录一次Flink作业异常的排查过程
最近2周开始接手apache flink全链路监控数据的作业,包括指标统计,业务规则匹配等逻辑,计算结果实时写入elasticsearch. 昨天遇到生产环境有作业无法正常重启的问题,我负责对这个问题
JAVA线上故障排查套路
线上故障主要会包括cpu、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如jstack、jmap等工具也是不囿于一个方面的问题的,基
使用Go语言实现Attach到目标JVM进程
0x00 Java Attach API的基本使用在JVM运行时加载一个Agent的jar包是Java agent的一种更加灵活的实现方式,因为动态Attach时不需要停止目标JVM进程,这个特性给J
使用NMT和pmap解决JVM资源泄漏问题
编者按:笔者使用JDK自带的内存跟踪工具NMT和Linux自带的pmap解决了一个非常典型的资源泄漏问题。这个资源泄漏是由于Java程序员不正确的使用Java API导致的,使用Files.list打
一次 JVM 进程退出分析
最近我们在测试把 APM 平台迁移到 ES APM,有同学反馈了一个有意思的现象,部署在 docker 中 jar 包项目,在新版 APM 里进程启动完就退出了,被 k8s 中无限重启。这篇文章写了一
没想到,这么简单的线程池用法,深藏这么多坑
又又又踩坑了生产有个对账系统,每天需要从渠道端下载对账文件,然后开始日终对账。这个系统已经运行了很久,前两天突然收到短信预警,没有获取渠道端对账文件。本以为又是渠道端搞事情,上去一排查才发现,所有下载
深入理解Linux内核进程上下文切换
我都知道操作系统的一个重要功能就是进行进程管理,而进程管理就是在合适的时机选择合适的进程来执行,在单个cpu运行队列上各个进程宏观并行微观串行执行,多个cpu运行队列上的各个进程之间完全的并行执行。进
浅谈 Linux 高负载的系统化分析
讲解 Linux Load 高如何排查的话题属于老生常谈了,但多数文章只是聚焦了几个点,缺少整体排查思路的介绍。所谓 “授人以鱼不如授人以渔"。本文试图建立一个方法和套路,来帮助读者对 Load 高问
JVM源码分析之警惕存在内存泄漏风险的FinalReference(增强版)
概述JAVA对象引用体系除了强引用之外,出于对性能、可扩展性等方面考虑还特地实现了四种其他引用:SoftReference、WeakReference、PhantomReference、FinalRe
一次I/O问题引发的P0重大故障
这是前段时间发的一篇文章,很多读者反馈,文章没有揭示故障发生的详细原因。本次在文中加上故障的具体原因(下面黑体字部分),再推一次。几年前的一个下午,公司里码农们正在安静地敲着代码,突然很多人的手机同时
一次 Docker 容器内大量僵尸进程排查分析
前段时间线上的一个使用 Google Puppeteer 生成图片的服务炸了,每个 docker 容器内都有几千个孤儿僵死进程没有回收,如下图所示。这篇文章比较长,主要就讲了下面这几个问题。- 什么情
一次“内存泄漏”引发的血案
对性能不佳的Ark Server进行了改造和重写。重编发布一段时间后,结果发现新发布的Svr的机器内存一直在上涨。如下图示:观察后,第一反应是完了,一定存在内存泄露。花了3、4天时间,使用各种办法进行
GC 实战—浮动内存导致的 CPU 过高调优
由于接入的应用越来越多,对系统性能要求越来越高,提高系统的吞吐率,以及提升性能,是我们春节战役期间必须要做的事情。系统的性能优化不单单是对 JVM 的参数调优,也不是某一段代码的改造,而是一个系统的工
fastJson与一起堆内存溢出'血案'
现象- QA同学反映登录不上服务器 排查问题1--日志级别- 查看log,发现玩家登录的时候抛出了一个java.lang.OutOfMemoryError - 大概代码是向Redis序列化一个Pla
Prometheus时序数据库-磁盘中的存储结构
前言之前的文章里,笔者详细描述了监控数据在Prometheus内存中的结构。而其在磁盘中的存储结构,也是非常有意思的,关于这部分内容,将在本篇文章进行阐述。 磁盘目录结构首先我们来看Prometheu
久等了,网传字节跳动总结的设计模式出版了!
作者:小傅哥博客:[https://bugstack.cn](https://bugstack.cn)沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言`来自延迟满足的幸福`可能你的生活里很多
那些吃CPU的大户
最近沉浸在代码的世界里,处于两耳不闻窗外事的状态。今晚偶有闲暇,看了一眼任务管理器,IDLE进程的时间居然有800多小时,还有多个进程的CPU净时间达到小时级别。如下图所示,IDLE进程的CPU净时间
基于CAP模型设计企业级真正高可用的分布式锁
CAP定律剖析2000年Eric Brewer教授提出CAP猜想,2年后CAP猜想被Seth Gilbert和Nancy Lynch从理论上证明。CAP是Consitency(强一致性)、Availa
为什么容器内存占用居高不下,频频 OOM
最近我在回顾思考(写 PPT),整理了现状,发现了这个问题存在多时,经过一番波折,最终确定了元凶和相对可行的解决方案,因此分享一下排查历程,希望能够给大家一些借鉴的经验。时间线:- 在上 Kubern
JDK11现存性能bug(JDK-8221393)深度解析
这是一篇鸽了很久的博客,因为博客内容和素材早就准备差不多了,但就是一直懒得整理,今天终于下定决心终于整理出来了,这也是这个bug [JDK-8221393](https://bugs.openjdk.
我的程序跑了60多小时,就是为了让你看一眼JDK的BUG导致的内存泄漏
从一个BUG说起前段时间翻到了一个 JDK 有点意思的 [BUG](https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8137185),带大家一
惊:Dubbo居然有必现StackOverflowError的Bug
说明:本文场景基于dubbo-2.5.3版本。 如果你对StackOverflowError有一定的了解,就可以知道出现这个问题的主要原因就是调用栈太深,比如常见的无限递归调用。那本文要介绍的Dub
Dubbo应用无法重连zookeeper
前言dubbo是一个成熟且被广泛运用的框架。饶是如此,在某些极端条件下基于dubbo的应用还会出现无法重连zookeeper的问题。由于此问题容易导致比较大的故障,所以笔者费了一番功夫去定位,现将排查
一次诡异的垃圾回收耗时问题排查实践
之前的博文中说过最近在查一个问题,花费了近两个星期,问题算是有了一个小结,是时候总结一下了。排查过程走了很多弯路,由于眼界和知识储备问题,也进入了一些思维误区,希望此问题能以后再查询此类问题时能有所警
震惊!线上四台机器同一时间全部 OOM,到底发生了什么?
案发现场昨天晚上突然短信收到 APM (即 Application Performance Management 的简称,我们内部自己搭建了这样一套系统来对应用的性能、可靠性进行线上的监控和预警的一种
消失的Java进程-Linux OOM Killer
在一台虚拟机上执行docker java应用,每隔一段时间就会出现java进程消失、而且没有任何jvm error log的情况。略一寻思,应该是遇到网上常说的Linux OOM的情况:虚拟机10G,
刨根问底——记一次 OOM 试验造成的电脑雪崩引发的思考
问题初现----电脑雪崩在写「垃圾回收-实战篇」时,按书中的一个例子做了一次实验,我觉得涉及的知识点挺多的,所以单独拎出来与大家共享一下,相信大家看完肯定有收获。 画外音:尽信书不如无书,对每一个例子
什么会导致Java应用程序的CPU使用率飙升?
问题 无限循环的while会导致CPU使用率飙升吗?经常使用Young GC会导致CPU占用率飙升吗?具有大量线程的应用程序的CPU使用率是否较高?CPU使用率高的应用程序的线程数是多少?处于BLOC
如何使用Eclipse内存分析工具定位内存泄漏
本文以我司生产环境Java应用内存泄露为案例进行分析,讲解如何使用Eclipse的MAT分析定位问题 背景11月10号晚上8点收到报警邮件,一看是OOM打开公司监控系统查看应用各项指标发现JVM中老年
OOM异常会导致JVM退出吗?
问题来源一次生产事故,由于一次性从数据库查询过多数据导致线程 OOM:Java heap space 异常(千万级表,JVM堆内存2G),但是在线程OOM发生时,java进程却没有立即挂掉。不符合所谓
JVM源码分析之SystemGC完全解读
概述 JVM的GC一般情况下是JVM本身根据一定的条件触发的,不过我们还是可以做一些人为的触发,比如通过jvmti做强制GC,通过System.gc触发,还可以通过jmap来触发等,针对每个场景其实我
强如 Disruptor 也发生内存溢出?
前言```OutOfMemoryError ```问题相信很多朋友都遇到过,相对于常见的业务异常(数组越界、空指针等)来说这类问题是很难定位和解决的。本文以最近碰到的一次线上内存溢出的定位、解决问题的

有开始,就会有进​步!

在追求性能的道路上,记录每一刻的成长!源码解读,编程技巧,外文翻译,技术实践,线上案例等等,记录自己,启发他人!

专家作者推荐

巡山小汪

关注微信公众号《解Bug之路》,有问题请在公众号中咨询:) 无论多么艰苦的时刻,都不要忘记,辉煌的未来,在你的眼中闪耀!

飞哥开发内功

《深入理解Linux网络》作者,腾讯搜狗十年工程师,公众号「开发内功修炼」作者!

踩刀诗人

聊聊技术,唠唠段子,偶尔做菜写诗,欢迎关注我的公众号 踩刀诗人

Brand

搜索关注微信公众号【架构与思维】:撰稿者为bat、字节的几位高阶研发/架构,专注技术分享。

专题推荐

相比于后端遇到的各种复杂性能问题,前端的性能相对简单,但是简单不代表容易,前端的技术更新迭代快,那么针对性能问题自然也会出现各种变种,需要各种新的工具和思路。
HeapDump性能社区将引进更多前端相关大佬,来给大家分享前端性能的那些事儿。本期先从前端性能基础开始:
5篇文章7047阅读量
数据库最容易成为整个系统的性能瓶颈,本期专题向大家介绍日常工作中常见的数据库性能问题,干货+性能调优实践帮你攻克数据库性能瓶颈!
8篇文章20414阅读量