李锋镝的博客 - LiFengdi.Com

  • 首页
  • 时间轴
  • 留言
  • 左邻右舍
  • 我的日常
  • 关于我
JVM
原创

记一次spring-cloud-netflix-core引发的内存溢出分析

发现问题 线上服务重启,好在抓到了线上服务的dump文件,下载到本地进行分析。 使用MAT打开快照文件,此处省略掉使用MAT的过程,分析发现有大量的com.netflix.servo.monitor.BasicTimer未释放,且被org.springframework.cloud.netflix.metrics.servo.ServoMonitorCache占用。 分析 在工程中查找到ServoMonitorCache类,发现在spring-cloud-netflix-core包下,然后打开该jar包,查看其sp…

2021年12月7日 0条评论 9563点热度 1人点赞 阅读全文
技术

内存屏障浅析

背景 本文仅是为了帮助入门新人了解什么是内存屏障、内存屏障都做了什么等基础问题,并无深入说明。 内存屏障的实现涉及大量硬件架构层面的知识,又需要操作系统或JVM的配合才能发挥威力,单纯从任何一个层面都无法理解。 如有疏漏,还望指正! 什么是内存屏障 内存屏障(Memory Barrier)是一个CPU指令。是硬件之上、操作系统或JVM之下,对并发作出的最后一层支持。再向下是是硬件提供的支持;向上是操作系统或JVM对内存屏障作出的各种封装。内存屏障是一种标准,各厂商可能采用不同的实现。 接下来大概说一下CPU缓存,作…

2021年11月18日 1条评论 10036点热度 4人点赞 阅读全文
技术

带颜色的JVM:三色标记详解

三色标记法是一种垃圾回收法,它可以让JVM不发生或仅短时间发生STW(Stop The World),从而达到清除JVM内存垃圾的目的。JVM中的CMS、G1垃圾回收器所使用垃圾回收算法即为三色标记法。 三色标记算法思想 三色标记法将对象的颜色分为了黑、灰、白,三种颜色。 白色:该对象没有被标记过。(对象垃圾) 灰色:该对象已经被标记过了,但该对象下的属性没有全被标记完。(GC需要从此对象中去寻找垃圾) 黑色:该对象已经被标记过了,且该对象下的属性也全部都被标记过了。(程序所需要的对象) 算法流程 从我们main方…

2021年10月9日 0条评论 10803点热度 0人点赞 阅读全文
技术

JVM安全点介绍

《深入理解java虚拟机》中说到GC Roots的节点主要在全局的引用(例如常量或类静态属性)与执行上下文(例如栈帧中的本地变量表)中,但是进行根节点枚举的时候我们并不需要一个不漏地检查完所有执行上下文和全局引用位置,HotSpot中通过使用一组称为OopMap的数据结构,用于直接存放对象引用,类加载完成,HotSpot就会把对象内某个偏移位置是否为对象引用记录下来,JIT编译过程中,也会在特定的位置记录下栈和局存起中哪些位置是引用。 所以通过OopMap,jvm可以快速且准确地完成GC Roots枚举,但是导致引…

2021年8月16日 0条评论 12398点热度 0人点赞 阅读全文
技术

JMX监控权限认证配置

JMX监控权限认证配置 JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。 1、非认证登录 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8899 -Dcom.sun.management.jmxremote.ssl=false -Dco…

2021年8月6日 1条评论 12634点热度 0人点赞 阅读全文
其他

JVM调优的正确姿势

本文简单说一说JVM应如何调优。 Java语言本身的成功,除了天时地利人和,JVM功不可没。 毫不夸张地说,JVM是现代软件工程最成功的案例之一。它规模庞大,代码极其复杂,但运行极其稳定可靠,所以,许多厂商的核心业务系统,才敢放心地用Java编写,运行在JVM之上。 因为JVM自带GC,又有无数可以微调的参数,所以,JVM调优,现在已经被当作Java面试的必考知识点,精通JVM调优参数的童鞋,可以冠名微操小王子。 写了这么多年的Java程序,很遗憾,我迄今为止只会用两个参数:XMS和XMX,能正确写出如下启动脚本:…

2021年3月26日 0条评论 15511点热度 2人点赞 阅读全文
技术

透过现象看本质:Java类动态加载和热替换

最近,遇到了两个和Java类的加载和卸载相关的问题: 1) 是一道关于Java的判断题:一个类被首次加载后,会长期留驻JVM,直到JVM退出。这个说法,是不是正确的? 2) 在开发的一个集成平台中,需要集成类似接口的多种工具,并且工具可能会有新增,同时在不同的环境部署会有裁剪(例如对外提供服务的应用,不能提供特定的采购的工具),如何才能更好地实现? 针对上面的第2点,我们采用Java插件化开发实现。上面的两个问题,都和Java的类加载和热替换机制有关。 1. Java的类加载器和双亲委派模型 1.1 Java类加载…

2021年1月22日 0条评论 15444点热度 0人点赞 阅读全文
技术

CPU飙高,系统性能问题如何排查?

一 背景知识 LINUX进程状态 LINUX 2.6以后的内核中,进程一般存在7种基础状态:D-不可中断睡眠、R-可执行、S-可中断睡眠、T-暂停态、t-跟踪态、X-死亡态、Z-僵尸态,这几种状态在PS命令中有对应解释。 D (TASK_UNINTERRUPTIBLE),不可中断睡眠态。顾名思义,位于这种状态的进程处于睡眠中,并且不允许被其他进程或中断(异步信号)打断。因此这种状态的进程,是无法使用kill -9杀死的(kill也是一种信号),除非重启系统(没错,就是这么头硬)。不过这种状态一般由I/O等待(比如磁…

2020年10月9日 0条评论 15553点热度 0人点赞 阅读全文
原创

jmap命令(jdk1.8)

命令格式 jmap [ options ] pid jmap [ options ] executable core jmap [ options ] [ pid ] server-id@ ] remote-hostname-or-IP 参数说明 pid:目标进程的PID,进程编号,可以采用ps -ef | grep java 查看java进程的PID; executable:产生core dump的java可执行程序; core:将被打印信息的core dump文件; remote-hostname-or-IP:…

2020年9月27日 2条评论 15890点热度 1人点赞 阅读全文
原创

jstat命令使用(JDK1.8)

概述 jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下: jstat [-命令选项] [vmid] [间隔时间/默认单位是ms毫秒] [查询次数] 注意:jdk版本是jdk1.8 详述 详细格式可以输入jstat -help命令查看: [root@root ~]# jstat -help Usage: jstat -help|-options jstat - [-t] [-h] [ []] Definitions: An option reported by the -options o…

2020年8月12日 0条评论 17063点热度 0人点赞 阅读全文
12
网站统计
  • 文章总数:312 篇
  • 评论总数:481 篇
  • 标签数量:226 个
  • 最后更新:2023年06月08日
  • 建站日期:2016年6月6日

从此无心爱良夜,任他明月下西楼。

最新 热点 随机
最新 热点 随机
小记 hnswlib installation failed 一眨眼就三年了…… redis异常记录 今天,是我的第三十一个生日 回忆是一条没有尽头的路
今天,是我的第三十一个生日阳了...开工啦~国庆节过的也很累~~一眨眼就三年了……今天天气很好~心情也不差~
简单易做的早餐(持续更新ing) 一篇文章帮你彻底搞清楚“I/O多路复用”和“异步I/O”的前世今生 Docker打包部署示例 博客有logo啦 分布式锁-Java常用技术方案 RocketMQ的push消费方式实现详解
最近评论
李锋镝 发布于 2 天前(06月06日) 确实很烧脑,头发头快秃了
王光卫博客 发布于 2 天前(06月06日) 排错也是个耐心的工作啊,ChatGPT有时候也能解决简单的问题,复杂了又要烧脑
NK007 发布于 1 周前(06月01日) 啥三年啊
李锋镝 发布于 2 周前(05月22日) 兄弟开玩笑了~
王光卫博客 发布于 2 周前(05月22日) :douyin.19: 博主都在规划下个三年了,我当前还没活好
友情链接
  • 志文工作室
  • 临窗旋墨
  • 旧时繁华
  • 城南旧事
  • 强仔博客
  • 林三随笔
  • 徐艺扬的博客
  • 云辰博客
  • 韩小韩博客
  • 知向前端
  • 阿誉的博客
  • 林羽凡
  • 情侣头像
  • 周良博客
  • 马内
  • 哥斯拉
  • LyShark - 孤风洗剑
  • 博客录
标签云

Your browser doesn't support the HTML5 CANVAS tag.

  • Visual Studio
  • IDEA
  • SQL
  • 程序人生
  • 架构
  • 微服务
  • 文档
  • hbase
  • 文学
  • 日常
  • 分布式
  • K8s
  • Git
  • 面向对象
  • 领域模型
  • 多线程
  • JAVA
  • docker
  • 程序员
  • 教程
  • Excel
  • Spring
  • 高并发
  • 妹妹的画
  • 锁
  • Spring Cloud Gateway
  • MySQL
  • Redis
  • 面试
  • Zookeeper
  • 数据库
  • Spring Cloud
  • 搜索
  • 设计模式
  • SpringBoot
  • Linux
  • Python
  • ElasticSearch
  • SEO
  • 分布式锁
  • Xshell
  • 博客
  • 散文
  • https
  • JVM
  • MQ
  • UML
  • Eclipse
  • RocketMQ
  • 重构

COPYRIGHT © 2022 lifengdi.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备16004681号-2