0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

監(jiān)控jvm常用的5個(gè)命令行工具

阿銘linux ? 2018-02-06 14:47 ? 次閱讀

常用的幾個(gè)命令行工具有jps、jstat、jinfo、jmap、jstack等。這幾個(gè)工具可以通過(guò)安裝openjdk-devel-debug包獲取。

yum install -yjava-1.8.0-openjdk-devel-debug

1. jps 類似linux的ps命令,常用選項(xiàng)有

-l輸出應(yīng)用程序main class的完整package名或者應(yīng)用程序的jar文件完整路徑名

-m輸出傳遞給main 方法的參數(shù),在嵌入式jvm上可能是null

-v輸出傳遞給JVM的參數(shù)

示例:

jps -lvm

2. jstat是JDK自帶的一個(gè)輕量級(jí)小工具。全稱“Java Virtual Machine statistics monitoring tool”,用以判斷JVM是否存在內(nèi)存問(wèn)題。

語(yǔ)法:jstat -

其中vmid指的是java進(jìn)程pid,interval為間隔時(shí)間,單位是毫秒,count為次數(shù)。

常用用法:

jstat -gcutil20659 1000 2

輸出內(nèi)容為:

S0 S1 E O M CCS YGC YGCT FGC FGCT GCT

0.00 99.38 65.57 3.61 97.37 89.84 1 0.015 0 0.000 0.015

0.00 99.38 65.57 3.61 97.37 89.84 1 0.015 0 0.000 0.015

S0 — Heap上的 Survivor space 0 區(qū)已使用空間的百分比

S1 — Heap上的 Survivor space 1 區(qū)已使用空間的百分比

E — Heap上的 Eden space 區(qū)已使用空間的百分比

O — Heap上的 Old space 區(qū)已使用空間的百分比

P — Perm space 區(qū)已使用空間的百分比

YGC — 從應(yīng)用程序啟動(dòng)到采樣時(shí)發(fā)生 Young GC 的次數(shù)

YGCT– 從應(yīng)用程序啟動(dòng)到采樣時(shí) Young GC 所用的時(shí)間(單位秒)

FGC — 從應(yīng)用程序啟動(dòng)到采樣時(shí)發(fā)生 Full GC 的次數(shù)

FGCT– 從應(yīng)用程序啟動(dòng)到采樣時(shí) Full GC 所用的時(shí)間(單位秒)

GCT — 從應(yīng)用程序啟動(dòng)到采樣時(shí)用于垃圾回收的總時(shí)間(單位秒)

3. jinfo用來(lái)查看jvm配置參數(shù)。

常用用法:

jinfo -flags 20659 //其中后面的數(shù)字是java進(jìn)程pid

輸出內(nèi)容如下:

Attaching to process ID 20659, please wait...

Debugger attached successfully.

Server compiler detected.

JVM version is 25.161-b14

Non-default VM flags: -XX:CICompilerCount=2 -XX:InitialHeapSize=67108864 -XX:MaxHeapSize=1069547520 -XX:MaxNewSize=356515840 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=22020096 -XX:OldSize=45088768 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC

Command line: -Dcatalina.base=/usr/share/tomcat -Dcatalina.home=/usr/share/tomcat -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat/temp -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

4. jmap用來(lái)查看指定java進(jìn)程內(nèi)存使用情況。

常用用法:

jmap pid #打印內(nèi)存使用的摘要信息

jmap –heap pid #java heap信息

jmap -histo:live pid #統(tǒng)計(jì)對(duì)象count ,live表示在使用

jmap -histo pid >mem.txt #打印比較簡(jiǎn)單的各個(gè)有多少個(gè)對(duì)象占了多少內(nèi)存的信息,一般重定向到一個(gè)文件

jmap -dump:format=b,file=mem.dat pid #將內(nèi)存使用的詳細(xì)情況輸出到mem.dat 文件

5 jstack用于查看進(jìn)程內(nèi)線程棧的工具。當(dāng)程序出現(xiàn)死鎖時(shí),我們可以通過(guò)jstack打印線程棧找到問(wèn)題。

用法是:

jstack pid

監(jiān)控jvm常用的5個(gè)命令行工具

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JVM
    JVM
    +關(guān)注

    關(guān)注

    0

    文章

    157

    瀏覽量

    12188

原文標(biāo)題:監(jiān)控jvm的工具

文章出處:【微信號(hào):aming_linux,微信公眾號(hào):阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    在STM32實(shí)現(xiàn)命令行

    工作中的開(kāi)發(fā)環(huán)境都是基于linux命令行交互,作為命令行的重度使用者,玩單片機(jī)也要使用命令行工具,百度了一些命令行
    發(fā)表于 12-09 11:32 ?2183次閱讀

    Linux命令行工具

    Linux 新手往往對(duì)命令行心存畏懼。部分原因是因?yàn)樾枰洃洿罅康?b class='flag-5'>命令,畢竟掌握命令是高效使用命令行的前提不幸的是,學(xué)習(xí)這些命令并無(wú)捷徑,
    發(fā)表于 07-25 08:10

    linux命令行下載工具

    wget是linux下常用命令行下載工具,是Linux用戶是必不可少的工具,尤其對(duì)于網(wǎng)絡(luò)管理員,經(jīng)常要下載一些軟件。而tget是一個(gè)簡(jiǎn)單的
    發(fā)表于 07-25 07:02

    caxa命令行中的應(yīng)用

    caxa命令行中的應(yīng)用 命令行對(duì)于大多用戶來(lái)說(shuō)往往只是輸入數(shù)據(jù)的作用,但是其中的奧妙還有很多,下面就給大家
    發(fā)表于 10-18 18:18 ?2266次閱讀

    CMD的命令行高級(jí)教程

    CMD的命令行高級(jí)教程
    發(fā)表于 10-24 08:31 ?30次下載
    CMD的<b class='flag-5'>命令行</b>高級(jí)教程

    監(jiān)控網(wǎng)絡(luò)使用情況的Linux命令行工具

    本文介紹了一些可以用來(lái)監(jiān)控網(wǎng)絡(luò)使用情況的Linux命令行工具。這些工具可以監(jiān)控通過(guò)網(wǎng)絡(luò)接口傳輸?shù)臄?shù)據(jù),并測(cè)量目前哪些數(shù)據(jù)所傳輸?shù)乃俣?。入站?/div>
    的頭像 發(fā)表于 10-29 10:49 ?4651次閱讀

    Xilinx軟件命令行工具:XSCT開(kāi)發(fā)和調(diào)試

    了解如何使用XSCT,Xilinx軟件命令行工具進(jìn)行開(kāi)發(fā)和調(diào)試。 該視頻演示了XSCT如何充當(dāng)Xilinx SDK的命令行控制臺(tái)。
    的頭像 發(fā)表于 11-21 06:02 ?1.4w次閱讀

    Xilinx軟件命令行工具進(jìn)行開(kāi)發(fā)和調(diào)試

    了解如何使用XSCT,Xilinx軟件命令行工具進(jìn)行開(kāi)發(fā)和調(diào)試。 該視頻演示了XSCT如何充當(dāng)Xilinx SDK的命令行控制臺(tái)。
    的頭像 發(fā)表于 11-22 06:53 ?6536次閱讀

    Git常見(jiàn)的誤區(qū)和命令行工具等綜述

    Git常見(jiàn)的誤區(qū)和命令行工具等綜述
    發(fā)表于 08-31 09:51 ?0次下載

    Golang基于flag庫(kù)實(shí)現(xiàn)一個(gè)命令行工具

    Golang 標(biāo)準(zhǔn)庫(kù)中的 flag 庫(kù)提供了解析命令行選項(xiàng)的能力,我們可以基于此來(lái)開(kāi)發(fā)命令行工具。
    的頭像 發(fā)表于 10-28 09:26 ?1222次閱讀

    新的開(kāi)源命令行工具west

    電子發(fā)燒友網(wǎng)站提供《新的開(kāi)源命令行工具west.zip》資料免費(fèi)下載
    發(fā)表于 11-11 09:25 ?0次下載
    新的開(kāi)源<b class='flag-5'>命令行</b><b class='flag-5'>工具</b>west

    介紹Go里面經(jīng)常使用到的命令行工具

    優(yōu)秀的工具配合熟練的使用,往往可以讓開(kāi)發(fā)效率大幅度提升,本小節(jié)介紹 Go 里面經(jīng)常使用到的命令行工具
    的頭像 發(fā)表于 05-22 16:58 ?1206次閱讀
    介紹Go里面經(jīng)常使用到的<b class='flag-5'>命令行</b><b class='flag-5'>工具</b>

    PetaLinux工具文檔:命令行參考指南

    電子發(fā)燒友網(wǎng)站提供《PetaLinux工具文檔:命令行參考指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-15 14:52 ?0次下載
    PetaLinux<b class='flag-5'>工具</b>文檔:<b class='flag-5'>命令行</b>參考指南

    個(gè)開(kāi)源MCU級(jí)的命令行交互組件

    個(gè)開(kāi)源MCU級(jí)命令行交互組件~
    的頭像 發(fā)表于 10-17 16:26 ?365次閱讀
    一<b class='flag-5'>個(gè)</b>開(kāi)源MCU級(jí)的<b class='flag-5'>命令行</b>交互組件

    HarmonyOS開(kāi)發(fā):【基于命令行(安裝庫(kù)和工具集)】

    使用命令行進(jìn)行設(shè)備開(kāi)發(fā)時(shí),可以通過(guò)以下步驟安裝編譯OpenHarmony需要的庫(kù)和工具
    的頭像 發(fā)表于 04-25 21:03 ?323次閱讀
    HarmonyOS開(kāi)發(fā):【基于<b class='flag-5'>命令行</b>(安裝庫(kù)和<b class='flag-5'>工具</b>集)】