原文:記一次使用visualVM分析GroovyClassLoader加載機制導致頻繁gc的性能問題

一 現象描述 通常使用如下代碼在Java 中執行 Groovy 腳本: 時,每次執行groovyLoader.parseClass groovyScriptFile ,Groovy 為了保證每次執行的都是新的腳本內容,會每次生成一個新名字的Class文件對象。但當對同一段腳本每次都執行這個方法時,會導致的現象就是裝載的Class會越來越多,從而導致PermGen占用過高,甚至被用滿。如下圖 所示。 ...

2020-06-03 16:12 0 565 推薦指數:

查看詳情

一次jvm oom 導致docker容器頻繁重啟問題排查

應用部署在docker容器中,日志無報錯,docker卻有多次重啟記錄,Nginx監控報警 過程: 1.執行top命令查看內存占用情況    很干凈的容器,只有java進程在運行 2.查看jvm情況   2.1 查看heap堆大小,可以使用jinfo -flags PID 查看 ...

Tue Oct 13 00:51:00 CST 2020 0 879
一次對象過大引起的gc性能問題分析與定位

現象:一個接口在4C的機器上跑最大只有7TPS,CPU使用率就已經90%多。 定位: 1、 使用top命令查看CPU使用情況,找到進程號 2、 使用top -H -pid命令,查看進程信息,看到有四個進程CPU占用很高,加一起已經超過100%: 3、 查看具體 ...

Fri Dec 29 03:15:00 CST 2017 0 2561
一次頻繁Full GC問題排查過程分享

問題描述 應用收到頻繁Full GC告警 問題排查 登錄到對應機器上去,查看GC日志,發現YGC一分鍾已經達到了15,比Full GC還要頻繁一些,其中Full GC平均10分鍾超過了4,如下圖 使用jstat -gcutil 5280 1000查看實時GC情況 ...

Wed Nov 07 17:31:00 CST 2018 4 8013
[JVM]一次線上頻繁GC問題解決

起因:周末測試發現線上mq消息積壓了十幾萬的消息,如下圖所示 每個隊列幾萬的消息,立即采取緊急措施,將隊列下線重新上線。 處理積壓消息的量,調用量起來了,很快消息積壓解決了。開始事件復盤。 首先分析是否是消息消費能力跟不上消息產生原因,看入口消息,QPS是29.6 消息消費 ...

Thu Mar 21 01:27:00 CST 2019 0 2130
一次jvm瘋狂gc導致CPU飆高的問題解決

記錄一次java虛擬機CPU飆高的異常處理 線上web服務器不時的出現非常卡的情況,登錄服務器top命令發現服務器CPU非常的高, 重啟tomcat之后CPU恢復正常,半天或者一天之后又會偶現同樣的問題。 解決問題首先要找到問題的爆發點,對於偶現的問題是非常難於定位的。 重啟服務器之后只能 ...

Wed Jan 01 00:16:00 CST 2020 0 2159
一次docker問題定位(perf,iostat等性能分析)

背景 最近參與的項目是基於 OpenStack 提供容器管理能力,豐富公司 IaaS 平台的能力。日常主要工作就是在開源的 novadocker 項目(開源社區已停止開發)基礎上進行增強,與公司的其他業務組件進行對接等。 周末給下游部門的 IaaS 平台進行了一次升級,主要升級 ...

Fri Apr 27 18:29:00 CST 2018 4 3482
使用VisualVM分析性能

對於java虛擬機,像我這樣工作才兩年的會是比較陌生和神秘,但是時候,需要對JVM有一定的認識,並且能夠設置一些參數。下面是自己學習到的內容。 這里需要使用一個java自帶的一個工具,VisualVM使用IDEA下載一個VisualVM。 一、查看程序的JVM內存 首先任務參數 ...

Tue Dec 25 07:57:00 CST 2018 3 1244
使用VisualVM分析性能

,同時它還支持在 MBeans 上進行瀏覽和操作。本文主要介紹如何使用 VisualVM 進行性能分析及調優。 ...

Tue Nov 08 00:21:00 CST 2016 0 13515
 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM