国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

深入理解虛擬機(jī)之虛擬機(jī)性能監(jiān)控和故障處理工具

jas0n / 2740人閱讀

摘要:監(jiān)控和故障處理工具顯示指定系統(tǒng)內(nèi)所有的虛擬機(jī)進(jìn)程用于收集虛擬機(jī)各方面的運(yùn)行數(shù)據(jù)。的常用功能選項(xiàng)測(cè)試上面輸出了我正在運(yùn)行程序的包名下的類(lèi)名虛擬機(jī)統(tǒng)計(jì)信息監(jiān)視工具使用于監(jiān)視虛擬機(jī)各種運(yùn)行狀態(tài)信息的命令行工具。

《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐(第二版》讀書(shū)筆記與常見(jiàn)面試題總結(jié)

本節(jié)常見(jiàn)面試題(推薦帶著問(wèn)題閱讀,問(wèn)題答案在文中都有提到):

JVM調(diào)優(yōu)的常見(jiàn)命令行工具有哪些?

1 概述

給一個(gè)系統(tǒng)定位問(wèn)題的時(shí)候,知識(shí)、經(jīng)驗(yàn)是關(guān)鍵基礎(chǔ),數(shù)據(jù)是依據(jù),工具是運(yùn)用知識(shí)處理數(shù)據(jù)的手段。經(jīng)常 使用適當(dāng)?shù)奶摂M機(jī)監(jiān)控和分析工具可以加速我們分析數(shù)據(jù)、定位解決問(wèn)題的速度,但在學(xué)習(xí)工具前,也應(yīng)當(dāng)意識(shí)到工具永遠(yuǎn)都是知識(shí)技能的一層包裝,并沒(méi)有什么工具是“秘密武器”,不可能學(xué)會(huì)了就能包治百病。

2 JDK命令行工具(JDK安裝的bin目錄下):

下面這些命令行工具java.exe以及javac.exe我們都很熟悉了,下面我們主要看看其他命令行工具的作用。

JDK監(jiān)控和故障處理工具

jps:JVM Process Status Tool ,顯示指定系統(tǒng)內(nèi)所有的HotSpot虛擬機(jī)進(jìn)程

jstat: JVM Statistics Monitoring Tool ,用于收集HotSpot虛擬機(jī)各方面的運(yùn)行數(shù)據(jù)。

jinfo: Configuration Info forJava,顯示虛擬機(jī)配置信息

jmap: Memory Map for Java,生成虛擬機(jī)的內(nèi)存轉(zhuǎn)儲(chǔ)快照(heapdump文件)

jhat: JVM Heap Dump Browser ,用于分析heapdump文件,它會(huì)建立一個(gè)HTTP/HTML服務(wù)器,讓用戶可以在瀏覽器上查看分析結(jié)果

jstack: Stack Trace forJava,顯示虛擬機(jī)的線程快照

2.1 jps:虛擬機(jī)進(jìn)程狀況工具

JDK的很多小工具的名字都參考了UNIX命令的命名方式,jps(JVM Process Status) 是其中的典型。除了名字像UNIX的ps命令外,它的功能也和ps命令類(lèi)似:可以列出正在運(yùn)行的虛擬機(jī)進(jìn)程,并顯示虛擬機(jī)執(zhí)行主類(lèi)名稱以及這些進(jìn)程的本地虛擬機(jī)唯一ID(Local Virtual Machine Identifier,LVMID)。雖然功能比較單一,但它是使用最高的JDK命令行工具,因?yàn)槠渌腏DK工具大多需要輸入它查詢到的LVMID來(lái)確定要監(jiān)控的是哪一個(gè)虛擬機(jī)進(jìn)程。

jps的常用功能選項(xiàng):

測(cè)試:

上面輸出了我正在運(yùn)行程序的包名下的類(lèi)名:

2.2 jstat:虛擬機(jī)統(tǒng)計(jì)信息監(jiān)視工具

jstat(JVM Statistics Monitoring Tool) 使用于監(jiān)視虛擬機(jī)各種運(yùn)行狀態(tài)信息的命令行工具。 它可以顯示本地或者遠(yuǎn)程(需要遠(yuǎn)程主機(jī)提供RMI支持)虛擬機(jī)進(jìn)程中的類(lèi)信息、內(nèi)存、垃圾收集、JIT編譯等運(yùn)行數(shù)據(jù),在沒(méi)有GUI,只提供了純文本控制臺(tái)環(huán)境的服務(wù)器上,它將是運(yùn)行期間定位虛擬機(jī)性能問(wèn)題的首選工具。

jstat主要工具選項(xiàng):

測(cè)試:

2.3 jinfo:Java配置信息工具

jinfo(Configuration Info for Java) 的作用是實(shí)時(shí)地查看和調(diào)整虛擬機(jī)各項(xiàng)參數(shù)。 使用jps命令的-v可以查看虛擬機(jī)啟動(dòng)時(shí)顯式指定的參數(shù)列表,但如果想知道未被顯式指定的參數(shù)的系統(tǒng)默認(rèn)值,可以使用jinfo的-flag選項(xiàng)進(jìn)行查詢,jinfo還可以使用-sysprops選項(xiàng)把虛擬機(jī)進(jìn)程的System.getProperties()的內(nèi)容打印出來(lái)。

測(cè)試:

2.4 jmap:Java內(nèi)存映像工具

jmap(Memory Map for Java)命令用于生成堆轉(zhuǎn)儲(chǔ)快照。 如果不使用jmap命令,要想獲取Java堆轉(zhuǎn)儲(chǔ),可以使用“-XX:+HeapDumpOnOutOfMemoryError”參數(shù),可以讓虛擬機(jī)在OOM異常出現(xiàn)之后自動(dòng)生成dump文件,Linux命令下可以通過(guò)kill -3發(fā)送進(jìn)程退出信號(hào)也能拿到dump文件。

jmap的作用并不僅僅是為了獲取dump文件,它還可以查詢finalize執(zhí)行隊(duì)列、Java堆和永久代的詳細(xì)信息,如空間使用率、當(dāng)前使用的是哪種收集器等。和jinfo一樣,jmap有不少功能在Windows平臺(tái)下也是受限制的,除了生成dump文件的-dump選項(xiàng)和用于查看每個(gè)類(lèi)的實(shí)例、空間占用統(tǒng)計(jì)的-histo選項(xiàng)在所有操作系統(tǒng)都提供之外,其余選項(xiàng)都只能在Linux和Solaris系統(tǒng)下使用。

2.5 jstack:Java堆棧跟蹤工具

jstack(Stack Trace for Java)命令用于生成虛擬機(jī)當(dāng)前時(shí)刻的線程快照。線程快照就是當(dāng)前虛擬機(jī)內(nèi)每一條線程正在執(zhí)行的方法堆棧的集合.

生成線程快照的目的主要是定位線程長(zhǎng)時(shí)間出現(xiàn)停頓的原因,如線程間死鎖、死循環(huán)、請(qǐng)求外部資源導(dǎo)致的長(zhǎng)時(shí)間等待等都是導(dǎo)致線程長(zhǎng)時(shí)間停頓的原因。線程出現(xiàn)停頓的時(shí)候通過(guò)jstack來(lái)查看各個(gè)線程的調(diào)用堆棧,就可以知道沒(méi)有響應(yīng)的線程到底在后臺(tái)做些什么事情,或者在等待些什么資源。**

3 JDK可視化工具:

JConsole和VisualVM是兩個(gè)功能強(qiáng)大的可視化工具。

從Java 5開(kāi)始 引入了 JConsole,JConsole 是一個(gè)內(nèi)置 Java 性能分析器。您可以輕松地使用 JConsole(或者,它更高端的 “近親” jvisualvm )來(lái)監(jiān)控 Java 應(yīng)用程序性能和跟蹤 Java 中的代碼。(推薦使用升級(jí)版 JConsole 即 jvisualvm 。)

控制臺(tái)啟動(dòng)或者直接雙擊可執(zhí)行程序。

如下圖所示(這里就不具體介紹某一點(diǎn)了):

我們?cè)賮?lái)看看jvisualvm

歡迎關(guān)注我的微信公眾號(hào):"Java面試通關(guān)手冊(cè)"(一個(gè)有溫度的微信公眾號(hào),期待與你共同進(jìn)步~~~堅(jiān)持原創(chuàng),分享美文,分享各種Java學(xué)習(xí)資源):

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/69344.html

相關(guān)文章

  • 深入理解Java虛擬機(jī)第3版》垃圾收集器與內(nèi)存分配策略、虛擬機(jī)性能監(jiān)控故障處理工具

    摘要:目錄往期博客課堂篇初識(shí)常量池簡(jiǎn)單理解字符串常量池靜態(tài)常量池大整型常量池為什么要了解垃圾收集和內(nèi)存分配如何判斷對(duì)象已死引用計(jì)數(shù)算法可達(dá)性分析算法之后引用的擴(kuò)充回收方法區(qū)垃圾收集算法分代收集理論標(biāo)記清除標(biāo)記復(fù)制標(biāo)記整理對(duì)象分 ...

    Kerr1Gan 評(píng)論0 收藏0
  • 實(shí)戰(zhàn)Java虛擬機(jī)二“虛擬機(jī)的工作模式”

    摘要:今天開(kāi)始實(shí)戰(zhàn)虛擬機(jī)之二虛擬機(jī)的工作模式。總計(jì)有個(gè)系列實(shí)戰(zhàn)虛擬機(jī)之一堆溢出處理實(shí)戰(zhàn)虛擬機(jī)之二虛擬機(jī)的工作模式實(shí)戰(zhàn)虛擬機(jī)之三的新生代實(shí)戰(zhàn)虛擬機(jī)之四禁用實(shí)戰(zhàn)虛擬機(jī)之五開(kāi)啟編譯目前的虛擬機(jī)支持和兩種運(yùn)行模式。 今天開(kāi)始實(shí)戰(zhàn)Java虛擬機(jī)之二:虛擬機(jī)的工作模式。 總計(jì)有5個(gè)系列實(shí)戰(zhàn)Java虛擬機(jī)之一堆溢出處理實(shí)戰(zhàn)Java虛擬機(jī)之二虛擬機(jī)的工作模式實(shí)戰(zhàn)Java虛擬機(jī)之三G1的新生代GC實(shí)戰(zhàn)Jav...

    focusj 評(píng)論0 收藏0
  • 深入理解虛擬機(jī)垃圾回收

    摘要:深入理解虛擬機(jī)高級(jí)特性與最佳實(shí)踐第二版讀書(shū)筆記與常見(jiàn)面試題總結(jié)上篇文章傳送門(mén)深入理解虛擬機(jī)之內(nèi)存區(qū)域本節(jié)常見(jiàn)面試題推薦帶著問(wèn)題閱讀,問(wèn)題答案在文中都有提到如何判斷對(duì)象是否死亡兩種方法。虛引用主要用來(lái)跟蹤對(duì)象被垃圾回收的活動(dòng)。 《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐(第二版》讀書(shū)筆記與常見(jiàn)面試題總結(jié) 上篇文章傳送門(mén): 深入理解虛擬機(jī)之Java內(nèi)存區(qū)域 本節(jié)常見(jiàn)面試題(推薦帶著...

    IamDLY 評(píng)論0 收藏0
  • 深入理解虛擬機(jī)Java內(nèi)存區(qū)域

    摘要:運(yùn)行時(shí)數(shù)據(jù)區(qū)域虛擬機(jī)在執(zhí)行程序的過(guò)程中會(huì)把它管理的內(nèi)存劃分成若干個(gè)不同的數(shù)據(jù)區(qū)域。堆虛擬機(jī)所管理的內(nèi)存中最大的一塊,堆是所有線程共享的一塊內(nèi)存區(qū)域,在虛擬機(jī)啟動(dòng)時(shí)創(chuàng)建。 《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐(第二版》讀書(shū)筆記 1 概述 對(duì)于Java程序員來(lái)說(shuō),在虛擬機(jī)自動(dòng)內(nèi)存管理機(jī)制下,不再需要像C/C++程序開(kāi)發(fā)程序員這樣為內(nèi)一個(gè)new 操作去寫(xiě)對(duì)應(yīng)的delete/...

    dance 評(píng)論0 收藏0
  • 深入理解虛擬機(jī)Java內(nèi)存區(qū)域

    摘要:深入理解虛擬機(jī)高級(jí)特性與最佳實(shí)踐第二版讀書(shū)筆記與常見(jiàn)面試題總結(jié)本節(jié)常見(jiàn)面試題介紹下內(nèi)存區(qū)域運(yùn)行時(shí)數(shù)據(jù)區(qū)。運(yùn)行時(shí)數(shù)據(jù)區(qū)域虛擬機(jī)在執(zhí)行程序的過(guò)程中會(huì)把它管理的內(nèi)存劃分成若干個(gè)不同的數(shù)據(jù)區(qū)域。 《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐(第二版》讀書(shū)筆記與常見(jiàn)面試題總結(jié) 本節(jié)常見(jiàn)面試題: 介紹下Java內(nèi)存區(qū)域(運(yùn)行時(shí)數(shù)據(jù)區(qū))。 對(duì)象的訪問(wèn)定位的兩種方式。 1 概述 對(duì)于Java...

    lavnFan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<