Java
文章平均质量分 70
死磕音视频
这个作者很懒,什么都没留下…
展开
-
一次java内存top res高排查记录
分享一个最近的问题,top 看java进程res不断升高,一天能涨3个G,使用jmap dump内存快照后,dump下来的文件只有300多M,没有发现内存泄漏。这是个什么情况呢,我们深入分析下。首先,使用top来查看下当前进程的信息请添加图片描述可以看到top的res占用5.3g,jvm的参数如下早上的时候是4个g,下午的时候涨到7个g。通过gc日志和gc次数和时间来看,fullgc并没有有效的清理掉内存。我们使用手动触发一次fullgc,发现res还在持续增长,也就是说内存肯定有泄漏的地方。使用jmap原创 2022-07-11 15:33:39 · 4806 阅读 · 1 评论 -
记一次TCP TIME_WAIT引发的血案
前言记录线上一次故障,状态延迟,状态使用短连接,长轮训的方式获取,在每天的固定时间点,出现状态延迟,持续几分钟,然后又莫名其妙的恢复了,很是怪异,下面就来复盘下,这次问题的定位和思考。冰山一角我们可以掌握的线索有1.固定的时间点,发生。2.通过监控可以看到,流量并不高,但是TCP TIMEWAIT一瞬间疯涨3.出问题的时间点,远程客户的电脑(全内网),ping网关和服务器,发现有大量延时4.有同事通过jstat看,发现gc的次数很多,认为gc导致了接口延时。5.接口超时的时间点,CPU不高原创 2022-02-28 18:19:17 · 2544 阅读 · 0 评论 -
如何监控JVM GC
如何监控GCgc监控是GC调优的必要前提,只有监控数据,才能知道该不该GC调优?如何调优?调优是不是有效果?有很多种方法可以监控GC,其差别只是展现的形式而已,所以不用特意的去学习所有监控gc的方法。jstatjstat 是HotSpot JVM提供的一个监控工具,jstat 不仅提供GC操作的信息,还提供类装载操作的信息以及运行时编译器操作的信息。jstat 被放置在 $JDK_HOME/bin。因此只要java 和 javac能执行,jstat 同样可以执行。你可以在命令行环境下执行如下语句原创 2022-02-08 18:29:07 · 6256 阅读 · 1 评论 -
jvm基础理论。
前言我们常说的JVM调优,到底指的是什么?你应该牢记一个名词stop-the-world,无论您选择哪种 GC 算法,都会发生stop-the-world,stop-the-world意味着 JVM 因为要执行GC而停止了应用程序的执行。当stop-the-world发生时,除了GC所需的线程以外,所有线程都处于等待状态,直到GC任务完成。我们常说的JVM调优大多数指的是减少stop-the-world时间建议不要使用System.gc()在JAVA中,不能显示的分配和删除内存,大多数程序员原创 2022-02-07 16:54:28 · 293 阅读 · 0 评论 -
JAVA线上内存忽高忽低排查方案
今天线上出现了内存忽高忽低,由于业务正在大量使用,没有第一时间dump内存,下面介绍下几种查看内存占用情况。1.动态观察内存情况watch -n 5 'jmap -histo pid'这里观察的内,我们可以在arthas查看详细的内容,比如vmtool --action getInstances --className java.lang.String --limit 102.通过arthas生成火焰图profiler start --event allocprofiler stop原创 2021-10-08 16:29:27 · 1022 阅读 · 0 评论 -
openj9在Docker当中的最佳实践
前言在云原生的时代Java备受新老语言的挑战,在云原生时代对应用的需求有几大类体积更小:对于分布式架构而言,更小的体积意味着更少的下载宽带,更快的分发速度。启动速度更快,对于传统单体应用,启动速度与运行效率相比不是一个关键的指标。原因是,这些应用重启和发布频率相对较低。然而对于需要快速迭代、水平扩展的微服务应用而言,更快的的启动速度就意味着更高的交付效率,和更加快速的回滚。尤其当你需要发布一个有数百个副本的应用时,缓慢的启动速度就是时间杀手。对于Serverless 应用而言,端到端的冷启动速原创 2021-04-28 17:52:26 · 2006 阅读 · 2 评论 -
记一下Centos6.5 JVM 出现内存异常
输入java -versionCould not create the Java virtual machine查看系统上的内存解决办法:停止机器其他的进程,释放内存oracle 版本的java可以设置环境变量,改变java默认的JVM参数export _JAVA_OPTIONS="-Xmx512m -Xms512m"然后输入java -version 一起正常...原创 2021-04-17 15:42:29 · 115 阅读 · 0 评论 -
springcloud config使用ssh方式连接git仓库
前言spring config使用的JGIT操作的Git如果配置文件使用properties格式文件设置如下,每行设置\nspring.cloud.config.server.git.uri=git@xxxspring.cloud.config.server.git.strict-host-key-checking=truespring.cloud.config.server.git.privateKey= -----BEGIN RSA PRIVATE KEY-----\n---- key原创 2020-12-23 14:46:15 · 1005 阅读 · 0 评论 -
Mac下查看已安装的jdk版本及其安装目录
1、打开终端,输入:/usr/libexec/java_home -V 注意:输入命令参数区分大小写(-v是不对的,必须是-V)原创 2020-09-23 13:54:07 · 71 阅读 · 0 评论