国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java內(nèi)存溢出(outofmemory:Java heap space)更改堆大小

這篇具有很好參考價(jià)值的文章主要介紹了Java內(nèi)存溢出(outofmemory:Java heap space)更改堆大小。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

背景

在跑一個(gè)項(xiàng)目的時(shí)候需要構(gòu)建大量對(duì)象,導(dǎo)致出現(xiàn)內(nèi)存溢出錯(cuò)誤。去網(wǎng)上查需要修改堆大小,于是按照網(wǎng)上80%的方法修改了配置,結(jié)果依然內(nèi)存溢出。于是,開啟了半天的刨根問(wèn)底之旅。

過(guò)程

第一階段

首先是按照網(wǎng)上說(shuō)的方法,打開idea在上方找到help,然后點(diǎn)擊edit custom vm options,

java設(shè)置heap大小,問(wèn)題排查,java,jvm,intellij-idea,windows

然后就打開了下面這個(gè)文件,然后修改-Xmx,-Xms等堆內(nèi)存設(shè)置,這已經(jīng)是我改的亂七八糟的結(jié)果了。

java設(shè)置heap大小,問(wèn)題排查,java,jvm,intellij-idea,windows

然后關(guān)閉idea重啟,運(yùn)行程序,不行。。。

第二階段

我開始搜索其他方法,有一個(gè)教程說(shuō),可以改settings里面的一些關(guān)于jvm的配置,重復(fù)了幾次,改完后依然沒有效果。

這時(shí)我開始學(xué)習(xí)借助工具分析,在jdk的bin目錄下有一個(gè)程序叫jvisualvm.exe,它是jdk自帶的分析工具。打開它,

java設(shè)置heap大小,問(wèn)題排查,java,jvm,intellij-idea,windows

打開長(zhǎng)這樣,

java設(shè)置heap大小,問(wèn)題排查,java,jvm,intellij-idea,windows

在你的程序啟動(dòng)之后,左側(cè)欄里會(huì)有你的程序名,雙擊它,在右面會(huì)出現(xiàn)它的概述,監(jiān)視等,都可以點(diǎn)進(jìn)去。
下面就是platform的概述,可以看到我剛剛改的亂七八糟的配置。

java設(shè)置heap大小,問(wèn)題排查,java,jvm,intellij-idea,windows

點(diǎn)擊監(jiān)視就可以看到cpu,內(nèi)存等的運(yùn)行情況。

java設(shè)置heap大小,問(wèn)題排查,java,jvm,intellij-idea,windows

接下來(lái),我便開始實(shí)驗(yàn),發(fā)現(xiàn)無(wú)論怎么改vmoptions中的配置,在platform的概述中都能更新為修改后的內(nèi)容。但是監(jiān)視我的運(yùn)行程序時(shí)發(fā)現(xiàn),我的堆內(nèi)存大小一點(diǎn)也沒有變。。。并且堆的大小還沒擴(kuò)容到最大堆大小便開始頻繁gc,最后內(nèi)存溢出(開始焦慮)

第三階段

為了搞明白為啥沒用完堆內(nèi)存就溢出,繼續(xù)學(xué)習(xí)工具。
在剛剛的軟件中點(diǎn)擊,工具->插件->可用插件->選擇visual vm并開始下載安裝。這個(gè)插件可以幫助我們看到新生代,老年代等具體的內(nèi)存分配情況。

java設(shè)置heap大小,問(wèn)題排查,java,jvm,intellij-idea,windows

安裝好后,再修改配置,跑幾遍程序。發(fā)現(xiàn)了問(wèn)題所在,無(wú)論我怎么修改配置,我的新生代,老年代的大小都沒變,相當(dāng)于修改無(wú)效。。。而在不斷的創(chuàng)建對(duì)象和gc中,我的老年代滿了。。。(無(wú)語(yǔ))

我突然想到,還可以在程序的運(yùn)行配置中添加參數(shù),修改堆內(nèi)存。于是,點(diǎn)擊上方程序(xxxApplication)的小箭頭,點(diǎn)擊edit configurations,

java設(shè)置heap大小,問(wèn)題排查,java,jvm,intellij-idea,windows

然后在environment下的vm options中再加上你的修改,然后應(yīng)用。

java設(shè)置heap大小,問(wèn)題排查,java,jvm,intellij-idea,windows

再運(yùn)行程序,通過(guò)visual vm觀察堆內(nèi)存分配,發(fā)現(xiàn)okok,按照自己的配置分配內(nèi)存了。完整的程序執(zhí)行一遍,順利順利,沒有內(nèi)存溢出了。
至此,這個(gè)問(wèn)題終于搞定了。。。(開心)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-528013.html

總結(jié)

  • 之前遇到內(nèi)存溢出問(wèn)題的時(shí)候,也上網(wǎng)搜了好多答案,但是怕麻煩,所以一直拖著沒有解決。今天逼著自己必須把它搞定,無(wú)論網(wǎng)上說(shuō)的什么方法我都嘗試,才有決心攻克難關(guān)。
  • 今天也學(xué)習(xí)了visual vm的使用,之前在網(wǎng)上看到相關(guān)用工具分析堆內(nèi)存的帖子就退出去,還是畏難吧,今天按照教程打開了工具,下載了插件,發(fā)現(xiàn)也沒有那么難,對(duì)jvm也有了新的理解。
  • 這次問(wèn)題的排查過(guò)程,獨(dú)立也不獨(dú)立,希望以后遇到困難不要害怕,勇敢解決!

到了這里,關(guān)于Java內(nèi)存溢出(outofmemory:Java heap space)更改堆大小的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • DBeaver導(dǎo)數(shù)據(jù)拋錯(cuò) Java heap space

    DBeaver導(dǎo)數(shù)據(jù)拋錯(cuò) Java heap space

    從表中導(dǎo)出數(shù)據(jù)時(shí)報(bào)錯(cuò): 原因: DBeaver內(nèi)存設(shè)置過(guò)小,需要調(diào)整 找到配置文件:安裝目錄-dbeaver.init Xms為最小內(nèi)存,默認(rèn) 64M Xmx為最大內(nèi)存,默認(rèn) 1024M,調(diào)大此值即可,如10240M

    2024年02月05日
    瀏覽(17)
  • JAVA HEAP SPACE解決方法和JVM參數(shù)設(shè)置

    JAVA HEAP SPACE解決方法和JVM參數(shù)設(shè)置 JAVA HEAP SPACE解決方法和JVM參數(shù)設(shè)置 原因分析 設(shè)置 異常分析 Java堆的管理—垃圾回收提到一下幾點(diǎn),很不錯(cuò),或許可以作為寫程序時(shí)候的準(zhǔn)則: jvm 內(nèi)存查看與分析工具 在JVM中如果98%的時(shí)間是用于GC(Garbage Collection)且可用的 Heap size 不足2%的時(shí)

    2024年02月06日
    瀏覽(21)
  • 解決idea出現(xiàn)的java.lang.OutOfMemoryError: Java heap space的問(wèn)題

    解決idea出現(xiàn)的java.lang.OutOfMemoryError: Java heap space的問(wèn)題

    今天使用 idea 開發(fā)時(shí),突然報(bào)出如下錯(cuò)誤:

    2023年04月19日
    瀏覽(24)
  • Java Heap Space問(wèn)題解析與解決方案(InsCode AI 創(chuàng)作助手)

    Heap Space問(wèn)題是Java開發(fā)中常見的內(nèi)存溢出問(wèn)題之一,我們需要理解其原因和表現(xiàn)形式,然后通過(guò)優(yōu)化代碼、增加JVM內(nèi)存和使用垃圾回收機(jī)制等方法來(lái)解決。 一、常見報(bào)錯(cuò) 二、Heap Space問(wèn)題的原因 對(duì)象創(chuàng)建過(guò)多:如果程序中創(chuàng)建了大量的對(duì)象,而這些對(duì)象又不能被垃圾回收機(jī)制

    2024年02月03日
    瀏覽(29)
  • 使用jmeter做性能測(cè)試時(shí)遇到j(luò)ava.lang.OutOfMemoryError: Java heap space. 提示怎么辦

    使用jmeter做性能測(cè)試時(shí)遇到j(luò)ava.lang.OutOfMemoryError: Java heap space. 提示怎么辦

    使用jmeter做性能測(cè)試遇到j(luò)ava.lang.OutOfMemoryError: Java heap space.時(shí)是jvm的問(wèn)題,需要調(diào)大jvm的內(nèi)存,windows壓力機(jī)通過(guò)編輯bin文件下的jmeter.bat文件來(lái)修改jvm的內(nèi)存大小。在jmeter.bat文件的編輯狀態(tài)下查詢if not defined HEAP可快速查找到需要修改的位置。 修改前為默認(rèn)大?。?修改后(根

    2024年02月16日
    瀏覽(24)
  • 接口報(bào)錯(cuò)原因分析:handler dispatch failed;nested exceptionis java.lang.outofMemoryError:JAVA heap space

    java.lang.OutOfMemoryError: Java heap space ?解決方法 這個(gè)問(wèn)題的根源是jvm虛擬機(jī)的默認(rèn)Heap大小是64M,可以通過(guò)設(shè)置其最大和最小值來(lái)實(shí)現(xiàn).設(shè)置的方法主要是幾個(gè). 加上 JAVA_OPTS=-Xms64m -Xmx512m Linux 在{tomcat_home}/bin/catalina.sh的前面,加

    2024年02月08日
    瀏覽(37)
  • Android 內(nèi)存分析(java/native heap內(nèi)存、虛擬內(nèi)存、處理器內(nèi)存 )

    Android 內(nèi)存分析(java/native heap內(nèi)存、虛擬內(nèi)存、處理器內(nèi)存 )

    1.jvm 堆內(nèi)存(dalvik 堆內(nèi)存) 不同手機(jī)中app進(jìn)程的 jvm 堆內(nèi)存是不同的,因廠商在出廠設(shè)備時(shí)會(huì)自定義設(shè)置其峰值。比如,在Android Studio 創(chuàng)建模擬器時(shí),會(huì)設(shè)置 jvm heap 默認(rèn)384m , 如下圖所示: 當(dāng)app 進(jìn)程中java 層 new 對(duì)象(加起來(lái)總和)占用的堆內(nèi)存達(dá)到j(luò)vm heap 峰值時(shí),就會(huì)拋出OOM 。

    2024年02月14日
    瀏覽(26)
  • FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory node編譯時(shí)的內(nèi)存溢出

    報(bào)錯(cuò):FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory 原因:node編譯時(shí)的內(nèi)存溢出,因?yàn)榇虬募^(guò)大,剛好超過(guò)內(nèi)存的限制大小造成編譯中斷。 解決方法1: 解決方法2:(實(shí)踐過(guò)可用) 使用 increase-memory-limit 插件,增加node服務(wù)器內(nèi)存限制

    2024年02月03日
    瀏覽(43)
  • Java中的內(nèi)存泄露、內(nèi)存溢出與棧溢出

    大家好,我是歐陽(yáng)方超。本次就Java中幾個(gè)相似而又不同的概念做一下介紹。內(nèi)存泄漏、內(nèi)存溢出和棧溢出都是與內(nèi)存相關(guān)的問(wèn)題,但它們之間有所不同。 我們經(jīng)常會(huì)遇到內(nèi)存泄漏、內(nèi)存溢出和棧溢出等問(wèn)題,這些問(wèn)題都與內(nèi)存的使用有關(guān)。 內(nèi)存泄漏(memory leak)指的是程序

    2024年02月03日
    瀏覽(22)
  • VITE打包時(shí)內(nèi)存溢出問(wèn)題解決 FATAL ERROR: Ineffective mark-compacts near heap limit

    VITE打包時(shí)內(nèi)存溢出問(wèn)題解決 FATAL ERROR: Ineffective mark-compacts near heap limit

    樓主也不知道怎么回事在編寫Vue3+Cesium項(xiàng)目打包時(shí)就遇見了這個(gè)問(wèn)題,然后根據(jù)百度到的資料說(shuō)是node編譯時(shí)內(nèi)存不夠需要手動(dòng)提升內(nèi)存,然后需要安裝兩個(gè)組件,相關(guān)博客鏈接我貼在下面: https://blog.csdn.net/qq_43227958/article/details/123017935 安裝完插件之后運(yùn)行npm run build 還是不行,會(huì)報(bào)

    2024年02月16日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包