最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

聊一聊JVM性能調(diào)優(yōu)

2023-07-22 17:29 作者:懶人Java屈原  | 我要投稿

我的程序需要JVM性能調(diào)優(yōu)嗎?

如果JVM頻繁fullGC,時停過長,出現(xiàn)outOfMemeory,系統(tǒng)響應(yīng)與吞吐量不高,就該考慮JVM性能調(diào)優(yōu)。

滿足下面的情況,一般不需要調(diào)優(yōu)

1.Minor GC 執(zhí)行時間不到 50ms;

2.Minor GC 執(zhí)行不頻繁,約 10 秒一次;

3.Full GC 執(zhí)行時間不到 1s;

4.Full GC 執(zhí)行頻率不算頻繁,不低于 10 分鐘 1 次;

我要從哪方面進行性能調(diào)優(yōu)

為了提升系統(tǒng)的性能,我們需要從各個層面去優(yōu)化,除了JVM調(diào)優(yōu),還可以從其他層面優(yōu)化。優(yōu)先考慮從代碼層面與數(shù)據(jù)庫層面進行優(yōu)化。

JVM調(diào)優(yōu)的統(tǒng)一標準是什么

很抱歉,沒有這玩意。JVM性能調(diào)優(yōu)取決于你的實際系統(tǒng)情況,不是網(wǎng)上隨便拷貝的一個性能參數(shù),然后跑起來就行。JVM調(diào)優(yōu)需要你先記錄目前的系統(tǒng)相應(yīng)參數(shù)、然后調(diào)整JVM的參數(shù),然后再壓測。比較上一次的結(jié)果,看看是否達到預(yù)期目標。一遍遍的比較與調(diào)整,非常繁瑣。

阿里JVM性能調(diào)優(yōu)建議

JVM性能調(diào)優(yōu)目的主要是為了優(yōu)化垃圾回收器,從而使得我們運行程序時,使用更少的內(nèi)存與更低的延遲,卻能會得到更大的吞吐量。

性能參數(shù)指標

JVM調(diào)優(yōu)原則

JVM性能調(diào)優(yōu)參照流程圖

常用JVM性能調(diào)優(yōu)參數(shù)

常用性能調(diào)優(yōu)工具

1.命令行工具jps

jps -q 輸出pid

jps -l: 輸出應(yīng)用程序主類完整 package 名稱或 jar 完整名稱.

jps -v: 列出 jvm 參數(shù)

jps -m 顯示main方法啟動時的傳入?yún)?shù)


2.命令行工具jstat

jstat -class pid:統(tǒng)計class數(shù)量、內(nèi)存空間,耗時

jstat -compiler pid:統(tǒng)計編譯成功、失敗的數(shù)量等信息

jstat -gc pid:垃圾回收統(tǒng)計

jstat -gccapacity pid:垃圾回收器內(nèi)存空間統(tǒng)計

jstat -gcmetacapacity pid:元數(shù)據(jù)內(nèi)存空間統(tǒng)計

jstat -gcnew pid:新生代垃圾回收統(tǒng)計

jstat -gcnewcapacity pid:新生代內(nèi)存空間統(tǒng)計

jstat -gcold pid:老年代垃圾回收統(tǒng)計

jstat -gcoldcapacity pid:老年代內(nèi)存空間統(tǒng)計

jstat -gcutil pid:總垃圾回收統(tǒng)計

jstat -printcompilation pid:JVM編譯方法統(tǒng)計


3.命令行工具jinfo

jinfo -sysprops pid :可以查看由 System.getProperties()取得的參數(shù)

jinfo -flags pid:查看曾經(jīng)操作過的一些參數(shù)

jinfo -flag name pid:查看某個具體屬性的值,如jinfo -flag MaxHeapSize 65535

jinfo –flag -[參數(shù)] pid 可以修改參數(shù):如jinfo -flag +PrintGC 63535


4.命令行工具jmap

jmap pid:查看進程的內(nèi)存映像信息

jmap -heap pid:顯示Java堆詳細信息

jmap -histo:live pid:顯示堆中對象的統(tǒng)計信息

jmap -clstats pid:打印類加載器信息

jmap -finalizerinfo pid:打印等待終結(jié)的對象信息

jmap -dump:format=b,file=heapdump.phrof pid:用于生成堆轉(zhuǎn)儲快照(一般稱為 heapdump 或 dump 文件)。jmap 的作用并不僅僅是為了獲取 dump 文件,它還可以查詢 finalize 執(zhí)行隊列、Java 堆的詳細信息,如空間使用率、當前用的是哪種收集器等。例子:jmap -dump:format=b,file=/opt/1.hprof 12023

Sun JDK 提供 jhat(JVM Heap Analysis Tool)命令與 jmap 搭配使用,來分析 jmap 生成的堆轉(zhuǎn)儲快照。

5.命令行工具jstack

用于生成當前時刻的線程快照,

jstack pid:打印堆棧信息到控制臺

jstack -F pid:當正常輸出的請求不被響應(yīng)時,強制輸出線程堆棧

jstack -m pid: 如果調(diào)用到本地方法的話,可以顯示C/C++的堆棧

jstack -l pid: 除堆棧外,顯示關(guān)于鎖的附加信息,在發(fā)生死鎖時可以用jstack -l pid來觀察鎖持有情況

6.可視化工具Jconsole

可以非常直觀的考到線程與內(nèi)存的情況

7.可視化工具visualvm

8.Jmeter壓測工具

1.本地下載地址

jmeter.apache.org/downl

2.插件管理器下載

JMeter-Plugins.org

3.創(chuàng)建線程組

線程數(shù):并發(fā)線程數(shù)

Ramp-Up時間:表示啟動所有線程需要的時間

循環(huán)次數(shù):每個線程要發(fā)送多少次請求。

調(diào)度器:循環(huán)次數(shù)與調(diào)度器選擇一個進行配置即可,持續(xù)時間填個60,就代表1分鐘

4.創(chuàng)建HTTP請求

5.創(chuàng)建監(jiān)聽器,輸出結(jié)果

性能調(diào)優(yōu)總結(jié)

上線前,可以通過Jmeter進行壓測,然后進行性能調(diào)優(yōu)。上線后,通過JDK自帶的這些性能調(diào)優(yōu)工具,進行監(jiān)測后續(xù)情況。性能調(diào)優(yōu)沒有捷徑,也沒有統(tǒng)一的參數(shù),只能自己設(shè)置參數(shù)后,使用壓測工具與監(jiān)測工具,一遍遍查看效果。


聊一聊JVM性能調(diào)優(yōu)的評論 (共 條)

分享到微博請遵守國家法律
嘉峪关市| 齐河县| 巍山| 登封市| 白玉县| 共和县| 五常市| 丹东市| 黄梅县| 深泽县| 平和县| 广元市| 普兰店市| 广东省| 尼木县| 石景山区| 陕西省| 南宫市| 沂南县| 武隆县| 剑川县| 两当县| 略阳县| 营山县| 涪陵区| 庄浪县| 隆子县| 岳普湖县| 盐城市| 来凤县| 宣威市| 焉耆| 米泉市| 政和县| 西丰县| 蓬安县| 桓仁| 二连浩特市| 随州市| 菏泽市| 图们市|