Java groovy內(nèi)存回收測試步驟解析
問題
在使用我們的開發(fā)平臺時,客戶懷疑我們的動態(tài)執(zhí)行腳本會導致系統(tǒng)內(nèi)存回收的問題,導致系統(tǒng)不響應,為此我專門針對這個問題,做一下詳細的測試,看看是不是到底有什么影響。
測試步驟
1.使用編寫一個控制器方法,這個控制器方法只做一個解析java腳本的代碼。
2.配置tomcat的內(nèi)存。
set JAVA_OPTS=-Xms1g -Xmx1g
3.使用APPACHE 的ab命令進行壓測。
ab -c5 -t3600 http://192.168.1.200:8080/jsaas/testGroovyEngine.do
使用ab命令并發(fā)5次,壓測1個小時。
這個時候壓測,發(fā)現(xiàn)metadata的數(shù)據(jù)會增加,但是到達300多m的時候,這個數(shù)據(jù)會進行回收,但是這個時候訪問會變慢。
重新調(diào)整jvm參數(shù)
set JAVA_OPTS=-Xms1g -Xmx1g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m
將metadata 數(shù)據(jù)的大小固定為256m
在進行測試發(fā)現(xiàn):
在進行壓測的時候,裝入的類會增加,但是當metadata 數(shù)據(jù)到達256m的時候,jvm 會進行有規(guī)律的回收,訪問這個url性能也沒有變差。
得出的結(jié)論是:
1.使用groovy 確實會導致臨時裝載類增加。
2.我們需要設置metadata的數(shù)據(jù),當metadata到達這個數(shù)值時就回收,這樣不至于占用太多的堆內(nèi)存,導致系統(tǒng)性能下降。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Spring Cloud使用Feign實現(xiàn)Form表單提交的示例
本篇文章主要介紹了Spring Cloud使用Feign實現(xiàn)Form表單提交的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03SpringBoot 策略模式實現(xiàn)切換上傳文件模式
策略模式是指有一定行動內(nèi)容的相對穩(wěn)定的策略名稱,這篇文章主要介紹了SpringBoot 策略模式 切換上傳文件模式,需要的朋友可以參考下2023-11-11idea ssm項目java程序使用十六進制rxtx包向串口發(fā)送指令的方法
這篇文章主要介紹了idea ssm項目java程序向串口發(fā)送指令并且使用十六進制 rxtx包,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08@ConfigurationProperties在IDEA中出現(xiàn)紅色波浪線問題解決方法
本文介紹了在Springboot項目中,當@ConfigurationProperties注解出現(xiàn)紅色波浪線時的解決方法,文中有詳細的解決方案供大家參考,需要的朋友可以參考下2024-09-09SpringCloud Gateway的路由,過濾器和限流解讀
這篇文章主要介紹了SpringCloud Gateway的路由,過濾器和限流解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02