自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

聊聊JVM優(yōu)化的常用指令

開(kāi)發(fā) 前端
hat是用來(lái)分析jmap生成dump文件的命令,jhat內(nèi)置了應(yīng)用服務(wù)器,可以通過(guò)網(wǎng)頁(yè)查看dump文件分析結(jié)果,jhat一 般是用在離線分析上。

一、jps

jps 是(java process Status Tool), Java版的ps命令,查看java進(jìn)程及其相關(guān)的信息,如果你想找到一個(gè)java進(jìn)程的 pid,那可以用jps命令替代linux中的ps命令了,簡(jiǎn)單而方便。

jps [options] [hostid]

options參數(shù)解釋:

  • -l : 顯示進(jìn)程id,顯示主類全名或jar路徑
  • -q : 顯示進(jìn)程id
  • -m : 顯示進(jìn)程id, 顯示JVM啟動(dòng)時(shí)傳遞給main()的參數(shù)
  • -v : 顯示進(jìn)程id,顯示JVM啟動(dòng)時(shí)顯示指定的JVM參數(shù)

hostid :

主機(jī)或其他服務(wù)器ip

最常用示例:

  • jps -l 輸出jar包路徑,類全名
  • jps -m 輸出main參數(shù)
  • jps -v 輸出JVM參數(shù)

二、jinfo

jinfo是用來(lái)查看JVM參數(shù)和動(dòng)態(tài)修改部分JVM參數(shù)的命令。

命令格式:

jinfo [option] <pid>

options參數(shù)解釋:

no options 輸出所有的系統(tǒng)屬性和參數(shù)

  • -flag 打印指定名稱的參數(shù)
  • -flag [+|-] 打開(kāi)或關(guān)閉參數(shù)
  • flag = 設(shè)置參數(shù)
  • -flags 打印所有參數(shù)
  • -sysprops 打印系統(tǒng)配置

三、jstat

jstat命令是使用頻率比較高的命令,主要用來(lái)查看JVM運(yùn)行時(shí)的狀態(tài)信息,包括內(nèi)存狀態(tài)、垃圾回收等。

命令格式:

jstat [option] VMID [interval] [count ]

其中VMID是進(jìn)程id,interval是打印間隔時(shí)間(毫秒),count是打印次數(shù)(默認(rèn)一直打?。?/p>

option參數(shù)解釋:

  • -class class loader的行為統(tǒng)計(jì)
  • -compiler HotSpt JIT編譯器行為統(tǒng)計(jì)
  • -gc 垃圾回收堆的行為統(tǒng)計(jì)
  • -gccapacity 各個(gè)垃圾回收代容量(young,old,perm)和他們相應(yīng)的空間統(tǒng)計(jì)
  • -gcutil 垃圾回收統(tǒng)計(jì)概述
  • -gccause 垃圾收集統(tǒng)計(jì)概述(同-gcutil),附加最近兩次垃圾回收事件的原因
  • -gcnew 新生代行為統(tǒng)計(jì)
  • -gcnewcapacity 新生代與其相應(yīng)的內(nèi)存空間的統(tǒng)計(jì)
  • -gcold 年老代和永生代行為統(tǒng)計(jì)
  • -gcoldcapacity 年老代行為統(tǒng)計(jì)
  • -printcompilation HotSpot編譯方法統(tǒng)計(jì)

四、 jstack

jstack是用來(lái)查看JVM線程快照的命令,線程快照是當(dāng)前JVM線程正在執(zhí)行的方法堆棧集合。使用jstack命令可以定 位線程出現(xiàn)長(zhǎng)時(shí)間卡頓的原因,例如死鎖,死循環(huán)等。jstack還可以查看程序崩潰時(shí)生成的core文件中的stack信 息。

命令格式:

jstack [options] option

參數(shù)解釋:

  •  -F 當(dāng)使用jstack 無(wú)響應(yīng)時(shí),強(qiáng)制輸出線程堆棧。
  •  -m 同時(shí)輸出java堆棧和c/c++堆棧信息(混合模式)
  • -l 除了輸出堆棧信息外,還顯示關(guān)于鎖的附加信息

cpu占用過(guò)高問(wèn)題:

1.使用Process Explorer工具找到cpu占用率較高的線程

2.在thread卡中找到cpu占用高的線程id

3.線程id轉(zhuǎn)換成16進(jìn)制

4.使用jstack -l 查看進(jìn)程的線程快照

5.線程快照中找到指定線程,并分析代碼

五、jmap

jmap可以生成 java 程序的 dump 文件, 也可以查看堆內(nèi)對(duì)象示例的統(tǒng)計(jì)信息、查看 ClassLoader 的信息以及 finalizer 隊(duì)列。

命令格式:

jmap [option] (連接正在執(zhí)行的進(jìn)程)

option參數(shù)解釋:

如果使用不帶選項(xiàng)參數(shù)的jmap打印共享對(duì)象映射,將會(huì)打印目標(biāo)虛擬機(jī)中加載的每個(gè)共享對(duì)象的起始 地址、 映射大小以及共享對(duì)象文件的路徑全稱。

  • -heap 打印java heap摘要
  • -histo[:live] 打印堆中的java對(duì)象統(tǒng)計(jì)信息
  •  -clstats 打印類加載器統(tǒng)計(jì)信息
  • -finalizerinfo 打印在f-queue中等待執(zhí)行finalizer方法的對(duì)象
  •  -dump: 生成java堆的dump文件 dump-options: live 只轉(zhuǎn)儲(chǔ)存活的對(duì)象,如果沒(méi)有指定則轉(zhuǎn)儲(chǔ)所有對(duì)象 format=b 二進(jìn)制格式 file= 轉(zhuǎn)儲(chǔ)文件到

六、jhat

hat是用來(lái)分析jmap生成dump文件的命令,jhat內(nèi)置了應(yīng)用服務(wù)器,可以通過(guò)網(wǎng)頁(yè)查看dump文件分析結(jié)果,jhat一 般是用在離線分析上。

命令格式

jhat [option][dumpfile]

option參數(shù)解釋:

  • -stack false: 關(guān)閉對(duì)象分配調(diào)用堆棧的跟蹤
  •  -refs false: 關(guān)閉對(duì)象引用的跟蹤
  •  -port : HTTP服務(wù)器端口,默認(rèn)是7000
  • -debug : debug級(jí)別
  • -version 分析報(bào)告版本
責(zé)任編輯:武曉燕 來(lái)源: 今日頭條
相關(guān)推薦

2023-07-14 12:28:07

JVM優(yōu)化操作

2023-07-31 07:48:43

Java內(nèi)存虛擬機(jī)

2021-01-14 08:58:12

Synchronize鎖操作

2020-02-24 21:43:36

avaJVM 級(jí)鎖線程安全

2012-12-10 11:02:46

2021-06-11 06:54:35

DPDK優(yōu)化HugeTLB

2024-02-29 18:06:39

HTTP性能優(yōu)化

2010-12-31 09:23:44

FreeBSD

2010-09-27 13:09:29

JVM指令系統(tǒng)

2023-11-10 11:23:20

JVM內(nèi)存

2011-11-28 10:50:56

JavaJVM優(yōu)化

2024-03-15 08:04:30

G1CMSJVM

2021-11-26 00:02:00

模式正則修飾符

2021-06-29 07:04:16

Sed常用操作

2023-04-24 14:54:09

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

2023-01-08 13:46:49

2020-04-21 12:09:47

JVM消化字節(jié)碼

2020-12-31 05:33:34

軟件性能優(yōu)化

2024-10-15 08:37:08

2021-11-10 18:52:42

SQL技巧優(yōu)化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)