亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JVM內存優化怎么做

發布時間:2021-06-22 17:46:49 來源:億速云 閱讀:135 作者:chen 欄目:大數據

本篇內容主要講解“JVM內存優化怎么做”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“JVM內存優化怎么做”吧!

在Eclipse上安裝MAT(MemoryAnalyzer Tool)插件,官網鏈接(https://wiki.eclipse.org/MemoryAnalyzer)

步驟如下:
點擊Help,Install New Soft,就出現了以下Install界面:然后我們點擊ADD,在彈出的框中填上Mat插件的地址:http://download.eclipse.org/mat/1.8/update-site/,確定后,
點擊Select All,點擊Next,之后就一直確定,就能安裝了。安裝之后需要重啟Eclipse.

分析命令

// -Xms8m -Xmx8m   -XX:+PrintGCDetails
// 打印垃圾回收信息
	
	
//-Xms8m -Xmx32m   -XX:+HeapDumpOnOutOfMemoryError
//生成內存快照文件  查看錯誤信息
package com.shi.jvm;

import java.util.ArrayList;
import java.util.List;

/**
 * Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "main"
 * @author shiye
 * 
GC跟蹤:  -verbose:gc  

	-XX:+PrintGCDetails
	打印GC詳細信息
	
	-XX:+PrintGCTimeStamps
	打印CG發生的時間戳
	
	-Xloggc:log/gc.log
	指定GC log的位置,以文件輸出
	幫助開發人員分析問題

堆:
	-XX:+PrintHeapAtGC
	每次一次GC后,都打印堆信息
	
	-XX:+TraceClassLoading
	監控類的加載
	
	-XX:+PrintClassHistogram
	按下Ctrl+Break后,打印類的信息:
	
	-Xmx –Xms
	指定最大堆和最小堆
	-Xmx20m -Xms5m  
	
	-Xmn
	設置新生代大小
	
	-XX:NewRatio
	新生代(eden+2*s)和老年代(不包含永久區)的比值
	新生代:老年代=1:4,即年輕代占堆的1/5
	
	-XX:SurvivorRatio
	設置兩個Survivor區和eden的比
	Survivor :eden=2:8,即一個Survivor占年輕代的1/10
	
	-Xmx20m -Xms20m -Xmn1m  -XX:+PrintGCDetails 
	結果:
	Exception in thread "main" [Full GC (Ergonomics) java.lang.OutOfMemoryError: GC overhead limit exceeded
	[PSYoungGen: 512K->0K(1024K)] [ParOldGen: 18595K->517K(18944K)] 19107K->517K(19968K), [Metaspace: 2625K->2625K(1056768K)], 0.0077164 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
		at java.lang.Integer.toString(Unknown Source)
		at java.lang.String.valueOf(Unknown Source)
		at com.shi.jvm.OOMTest.main(OOMTest.java:58)
	
	-XX:+HeapDumpOnOutOfMemoryError
	OOM時導出堆到文件
	
	-XX:+HeapDumpPath
	導出OOM的路徑
	-Xmx20m -Xms5m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/a.dump
	
	XX:OnOutOfMemoryError
	在OOM時,執行一個腳本
	"-XX:OnOutOfMemoryError=D:/tools/jdk1.7_40/bin/printstack.bat %p“
	 當程序OOM時,在D:/a.txt中將會生成線程的dump
	可以在OOM時,發送郵件,甚至是重啟程序
	
	
	總結:根據實際事情調整新生代和幸存代的大小
	官方推薦新生代占堆的3/8
	幸存代占新生代的1/10
	在OOM時,記得Dump出堆,確保可以排查現場問題


棧:
	-XX:PermSize  -XX:MaxPermSize
	設置永久區的初始空間和最大空間
	他們表示,一個系統可以容納多少個類型
	
	
	-Xss
	通常只有幾百K
	決定了函數調用的深度
	每個線程都有獨立的棧空間
	局部變量、參數 分配在棧上
	
	
 *
 */
public class OOMTest {

	public static void main(String[] args) {
		List<String> list = new ArrayList();
		int i = 0;
		while(true) {
			//public native String intern();
			list.add(String.valueOf(i++).intern());
		}
	}

}

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

JVM內存優化怎么做

到此,相信大家對“JVM內存優化怎么做”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

循化| 新巴尔虎左旗| 普定县| 威海市| 柳江县| 巴东县| 招远市| 公主岭市| 甘南县| 安西县| 晴隆县| 汕头市| 阿城市| 宁乡县| 洪洞县| 揭东县| 大宁县| 孟津县| 镇康县| 财经| 宜兴市| 阜阳市| 万宁市| 正安县| 青河县| 容城县| 西丰县| 余江县| 聊城市| 湖口县| 彭泽县| 密山市| 涞源县| 定兴县| 南木林县| 泽库县| 大埔区| 陆丰市| 丰县| 承德县| 乐山市|