visualVM監(jiān)控JVM

一.情況

本次接到訂單導(dǎo)出的需求,訂單表數(shù)據(jù)量巨大,目前數(shù)據(jù)庫大約有幾十萬數(shù)據(jù)。導(dǎo)出時(shí)經(jīng)常內(nèi)存溢出,堆大小不夠用,指定-Xmx后決定監(jiān)控JVM內(nèi)存變化。

簡介:除了JDK自帶的jinfo jtsatus jmap等自帶監(jiān)控工具,visualVM是一款圖形化監(jiān)控JVM堆、類、線程、CPU的工具。

二.思路與實(shí)現(xiàn)

思路:調(diào)用導(dǎo)出訂單方法,實(shí)時(shí)監(jiān)控本機(jī)堆內(nèi)存變化。

實(shí)現(xiàn):導(dǎo)出17W訂單量,打開visualVM監(jiān)控堆內(nèi)存變化??梢钥吹紺PU使用率變化,以及GC發(fā)生時(shí)間點(diǎn)和堆內(nèi)存的變化,和消耗的堆峰值,消耗了大約800M內(nèi)存。


xiangfa1

導(dǎo)出90W訂單量消耗了大約3g內(nèi)存,必須優(yōu)化。查詢時(shí)間后看到使用的堆變大,因?yàn)榇藭r(shí)查詢對象映射為對應(yīng)的實(shí)體耗費(fèi)許多內(nèi)存,用的excel,生成許多大對象。


三.總結(jié)

優(yōu)化方案

1.使用CVS

2.分時(shí)間分量導(dǎo)出合成數(shù)據(jù)文件。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Java 應(yīng)用性能優(yōu)化是一個(gè)老生常談的話題,典型的性能問題如頁面響應(yīng)慢、接口超時(shí),服務(wù)器負(fù)載高、并發(fā)數(shù)低,數(shù)據(jù)庫頻...
    Rick617閱讀 7,616評論 1 9
  • 讓Java應(yīng)用程序運(yùn)行是一回事,但讓他們跑得快就是另外一回事了。在面對對象的環(huán)境中,性能問題就像來勢兇猛的野獸。但...
    程序員技術(shù)圈閱讀 612評論 0 2
  • 使用 VisualVM 進(jìn)行性能分析及調(diào)優(yōu) 概述 開發(fā)大型 Java 應(yīng)用程序的過程中難免遇到內(nèi)存泄露、性能瓶頸等...
    Kate_Blog閱讀 11,784評論 1 1
  • 現(xiàn)實(shí)企業(yè)級 Java 開發(fā)中,有時(shí)候我們會(huì)碰到下面這些問題:OutOfMemoryError,內(nèi)存不足內(nèi)存泄露線程...
    達(dá)微閱讀 6,013評論 0 9
  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,851評論 11 349

友情鏈接更多精彩內(nèi)容