HOME 首頁(yè)
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營(yíng)
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專(zhuān)注品牌策劃15年

    無(wú)法創(chuàng)建虛擬機(jī)未找到文件(無(wú)法創(chuàng)建虛擬機(jī)未找到文件怎么解決)

    發(fā)布時(shí)間:2023-03-31 20:05:52     稿源: 創(chuàng)意嶺    閱讀: 134        當(dāng)前文章關(guān)鍵詞排名出租

    大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于無(wú)法創(chuàng)建虛擬機(jī)未找到文件的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。

    開(kāi)始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫(xiě)出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端

    官網(wǎng):https://ai.de1919.com。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008

    本文目錄:

    無(wú)法創(chuàng)建虛擬機(jī)未找到文件(無(wú)法創(chuàng)建虛擬機(jī)未找到文件怎么解決)

    一、在新建虛擬機(jī)時(shí)出現(xiàn)問(wèn)題?

    JConsole

    JConsole 圖形用戶界面是一種符合 Java 管理擴(kuò)展(JMX)規(guī)范的監(jiān)視工具。JConsole 使用 Java 虛擬機(jī) (Java VM) 的廣泛檢測(cè)來(lái)提供有關(guān)在 Java 平臺(tái)上運(yùn)行的應(yīng)用程序的性能和資源消耗的信息。

    使用方法 本地

    • 使用jconsole命令:監(jiān)視本地運(yùn)行的所有 Java 應(yīng)用程序,JConsole 可以連接到這些應(yīng)用程序。

    • 使用jconsole PID命令:監(jiān)視指定PID的Java應(yīng)用程序。

    • 獲取java PID的方法:通過(guò)任務(wù)管理器查看、通過(guò)Java提供的jps命令查看。遠(yuǎn)程
    • 使用jsconsole hostName:portNum命令:hostName是運(yùn)行應(yīng)用程序的系統(tǒng)的名稱,portNum是您在啟動(dòng)Java VM時(shí)啟用 JMX 代理時(shí)指定的端口號(hào)。

      使用service:jmx::命令:使用 JMX 服務(wù) URL 進(jìn)行連接。

      內(nèi)容分析

      將 JConsole 連接到應(yīng)用程序后,JConsole 由六個(gè)選項(xiàng)卡組成。

    • 概述:顯示有關(guān) Java VM 和受監(jiān)視值的概述信息。

    • 內(nèi)存:顯示有關(guān)內(nèi)存使用的信息。

    • 線程:顯示有關(guān)線程使用的信息。

    • 類(lèi):顯示有關(guān)類(lèi)加載的信息。

    • VM:顯示有關(guān) Java VM 的信息。

    • MBeans:顯示有關(guān) MBeans 的信息。

    • 組成部分 概覽
    • 顯示有關(guān) CPU 使用情況、內(nèi)存使用情況、線程計(jì)數(shù)和在Java VM中加載的類(lèi)的圖形監(jiān)視信息。

      提供執(zhí)行GC的操作,可以隨時(shí)點(diǎn)擊按鈕進(jìn)行垃圾回收

    • 伊甸園空間(堆):最初為大多數(shù)對(duì)象分配內(nèi)存的池。

    • 幸存者空間(堆):包含在伊甸園空間垃圾回收中幸存下來(lái)的物體的池。

    • 終身代(堆):包含在幸存者空間中存在一段時(shí)間的對(duì)象的池。

    • 永久生成(非堆):包含虛擬機(jī)本身的所有反射數(shù)據(jù)的池,如類(lèi)和方法對(duì)象。使用類(lèi)數(shù)據(jù)共享的 Java VM,這一代分為只讀和讀寫(xiě)區(qū)域。

    • 代碼緩存(非堆):HotSpotJava VM 還包括一個(gè)代碼緩存,其中包含用于編譯和存儲(chǔ)本機(jī)代碼的內(nèi)存。

    • 堆和非堆內(nèi)存
    • Java VM管理兩種類(lèi)型的內(nèi)存:堆內(nèi)存和非堆內(nèi)存,這兩種內(nèi)存都是在 Java VM 啟動(dòng)時(shí)創(chuàng)建的。

    • 堆內(nèi)存是Java VM為所有類(lèi)實(shí)例和數(shù)組分配內(nèi)存的運(yùn)行時(shí)數(shù)據(jù)區(qū)域。堆的大小可能是固定的或可變的。垃圾回收器是一個(gè)自動(dòng)內(nèi)存管理系統(tǒng),用于回收對(duì)象的堆內(nèi)存。

    • 非堆內(nèi)存包括所有線程之間共享的方法區(qū)域和Java VM的內(nèi)部處理或優(yōu)化所需的內(nèi)存。它存儲(chǔ)每類(lèi)結(jié)構(gòu),如運(yùn)行時(shí)常量池、字段和方法數(shù)據(jù),以及方法和構(gòu)造函數(shù)的代碼。方法區(qū)域在邏輯上是堆的一部分,但是,根據(jù)實(shí)現(xiàn),Java VM 可能不會(huì)對(duì)它進(jìn)行垃圾回收或壓縮。與堆內(nèi)存一樣,方法區(qū)域可能為固定大小或可變大小。方法區(qū)域的內(nèi)存不需要連續(xù)。

    • 內(nèi)存池和內(nèi)存管理器
    • 內(nèi)存池和內(nèi)存管理器是Java VM內(nèi)存系統(tǒng)的關(guān)鍵方面。

    • 內(nèi)存池表示Java VM管理的內(nèi)存區(qū)域。Java VM至少有一個(gè)內(nèi)存池,它可能會(huì)在執(zhí)行期間創(chuàng)建或刪除內(nèi)存池。內(nèi)存池可以屬于堆內(nèi)存或非堆內(nèi)存。

    • 內(nèi)存管理器管理一個(gè)或多個(gè)內(nèi)存池。垃圾回收器是一種內(nèi)存管理器,負(fù)責(zé)回收不可到達(dá)的對(duì)象使用的內(nèi)存。Java VM可能具有一個(gè)或多個(gè)內(nèi)存管理器。它可以在執(zhí)行期間添加或刪除內(nèi)存管理器。內(nèi)存池可以由多個(gè)內(nèi)存管理器管理。

    • 垃圾回收
    • 垃圾回收 (GC) 是Java VM釋放不再引用的對(duì)象占用的內(nèi)存的方式。通常認(rèn)為具有活動(dòng)引用為"活動(dòng)"且未引用(或無(wú)法訪問(wèn))對(duì)象的對(duì)象為"已死"。垃圾回收是釋放死對(duì)象使用的內(nèi)存的過(guò)程。GC 使用的算法和參數(shù)對(duì)性能有顯著影響。

      Java hotspot VM垃圾回收器使用代數(shù) GC。生成 GC 利用大多數(shù)程序符合以下概括的觀察。

    • 它們創(chuàng)建許多壽命較短的對(duì)象,例如迭代器和局部變量。

    • 它們創(chuàng)建一些壽命很長(zhǎng)的對(duì)象,例如高級(jí)持久對(duì)象。

    • 線程
    • 提供有關(guān)線程使用的信息。

    • 查找監(jiān)視器死鎖線程:檢測(cè)對(duì)象監(jiān)視器鎖上是否有任何線程死鎖。此操作返回死鎖線程指示的數(shù)組。

    • getThreadInfo:返回線程信息。這包括線程當(dāng)前被阻止的名稱、堆棧跟蹤和監(jiān)視器鎖(如果有)以及持有該鎖的線程以及線程爭(zhēng)用統(tǒng)計(jì)信息。

    • 獲取ThreadCpu時(shí)間:返回給定線程消耗的 CPU 時(shí)間

    • 顯示有關(guān)類(lèi)加載的信息。

      提供有關(guān)Java VM的信息。

      以通用方式顯示有關(guān)在平臺(tái) MBean 服務(wù)器注冊(cè)的所有 MBeans 的信息。MBeans 選項(xiàng)卡允許您訪問(wèn)平臺(tái) MXBean 檢測(cè)的完整集,包括在其他選項(xiàng)卡中不可見(jiàn)的儀器。此外,您還可以使用 MBeans 選項(xiàng)卡監(jiān)視和管理應(yīng)用程序的 MBeans。

      列出目標(biāo)系統(tǒng)上已檢測(cè)的 Java 虛擬機(jī) (JVM)。

      監(jiān)視 Java 虛擬機(jī) (JVM) 統(tǒng)計(jì)信息。

      對(duì)Java應(yīng)用程序的資源和性能進(jìn)行實(shí)時(shí)的命令行的監(jiān)控,包括了對(duì)Heap size和垃圾回收狀況的監(jiān)控。

      命令格式

      jstat [-option] [PID]

      option參數(shù)

    • class:顯示有關(guān)類(lèi)加載器行為的統(tǒng)計(jì)信息。

    • compiler:顯示有關(guān)Java HotSpot VM實(shí)時(shí)編譯器行為的統(tǒng)計(jì)信息。

    • gc:顯示有關(guān)垃圾回收堆行為的統(tǒng)計(jì)信息。

    • gccapacity:顯示有關(guān)幾代人容量及其相應(yīng)空間的統(tǒng)計(jì)信息。

    • gccause:顯示有關(guān)垃圾回收統(tǒng)計(jì)信息(與 相同)的摘要,以及最后和當(dāng)前(如果適用)垃圾回收事件的原因。-gcutil

    • gcnew:顯示新一代行為的統(tǒng)計(jì)信息。

    • gcnewcapacity:顯示有關(guān)新一代大小及其相應(yīng)空間的統(tǒng)計(jì)信息。

    • gcold:顯示有關(guān)舊一代和元空間統(tǒng)計(jì)信息行為的統(tǒng)計(jì)信息。

    • gcoldcapacity:顯示有關(guān)舊一代大小的統(tǒng)計(jì)信息。

    • gcmetacapacity:顯示有關(guān)元空間大小的統(tǒng)計(jì)信息。

    • gcutil:顯示有關(guān)垃圾回收統(tǒng)計(jì)信息的摘要。

    • printcompilation:顯示 Java 熱點(diǎn) VM 編譯方法統(tǒng)計(jì)信息。

    • 1.jstat –class: 顯示加載class的數(shù)量,及所占空間等信息。

      2.jstat -compiler顯示VM實(shí)時(shí)編譯的數(shù)量等信息。

      3.jstat -gc: 可以顯示gc的信息,查看gc的次數(shù),及時(shí)間。

      4.jstat -gccapacity:可以顯示,VM內(nèi)存中三代(young,old,perm)對(duì)象的使用和占用大小

      5.jstat -gcutil:統(tǒng)計(jì)gc信息

      6.jstat -gcnew:年輕代對(duì)象的信息。

      7.jstat -gcnewcapacity: 年輕代對(duì)象的信息及其占用量。

      8.jstat -gcold:old代對(duì)象的信息。

      9.jstat -gcoldcapacity: old代對(duì)象的信息及其占用量。

      10.jstat -gcpermcapacity: perm對(duì)象的信息及其占用量。

      11.jstat -printcompilation:當(dāng)前VM執(zhí)行的信息。

      監(jiān)視 Java 虛擬機(jī) (JVM),并使遠(yuǎn)程監(jiān)視工具能夠連接到 JVM

      命令格式

      jstatd -[option]

      option

    • -nr當(dāng)找不到現(xiàn)有的RMI注冊(cè)表時(shí),不嘗試使用jstatd進(jìn)程創(chuàng)建一個(gè)內(nèi)部的RMI注冊(cè)表。

    • -p port在指定的端口查找RMI注冊(cè)表。如果沒(méi)有找到,并且沒(méi)有指定-nr選項(xiàng),則在該端口自行創(chuàng)建一個(gè)內(nèi)部的RMI注冊(cè)表。

    • -n rminameRMI注冊(cè)表中綁定的RMI遠(yuǎn)程對(duì)象的名稱。默認(rèn)的名稱為JStatRemoteHost。如果多個(gè)jstatd服務(wù)器在同一主機(jī)上運(yùn)行,你可以通過(guò)指定該選項(xiàng)來(lái)讓每個(gè)服務(wù)器導(dǎo)出的RMI對(duì)象具有唯一的名稱。不管如何,這樣做需要將唯一的服務(wù)器名稱包含進(jìn)監(jiān)控客戶端的hostid和vmid字符串中。

    • -Joption將選項(xiàng)參數(shù)傳遞給被javac調(diào)用的java啟動(dòng)程序。例如,-J-Xms48m設(shè)置啟動(dòng)內(nèi)存為48 MB。使用-J將選項(xiàng)參數(shù)傳遞給執(zhí)行Java應(yīng)用程序的底層虛擬機(jī),這是一種常見(jiàn)慣例。

    • 使用方法

      1.在jdk的bin目錄下創(chuàng)建文件jstatd.all.policy

      2.寫(xiě)入下面的安全配置

      grant codebase "file:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/lib/tools.jar" {

      permission java.security.AllPermission;

      #此處寫(xiě)絕對(duì)路徑,主要是防止路徑錯(cuò)誤問(wèn)題,排查問(wèn)題,應(yīng)該寫(xiě)成相對(duì)路徑

      3.啟動(dòng)jstatd

      ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=x.x.x.x &

      4.使用jvisualvm工具遠(yuǎn)程連接,進(jìn)行監(jiān)控

      jvisualvm

      VisualVM,能夠監(jiān)控線程,內(nèi)存情況,查看方法的CPU時(shí)間和內(nèi)存中的對(duì) 象,已被GC的對(duì)象,反向查看分配的堆棧(如100個(gè)String對(duì)象分別由哪幾個(gè)對(duì)象分配出來(lái)的).

      同時(shí)他還提供很多插件可以自己安裝,是一款不錯(cuò)的監(jiān)控分析工具。

      故障排除工具 JInfo

      可以用來(lái)查看正在運(yùn)行的 java 應(yīng)用程序的擴(kuò)展參數(shù),包括Java System屬性和JVM命令行參數(shù);也可以動(dòng)態(tài)的修改正在運(yùn)行的 JVM 一些參數(shù)。當(dāng)系統(tǒng)崩潰時(shí),jinfo可以從core文件里面知道崩潰的Java應(yīng)用程序的配置信息

      命令格式

      參數(shù)說(shuō)明

    • pid對(duì)應(yīng)jvm的進(jìn)程id

    • executable core產(chǎn)生core dump文件

    • [server-id@]remote server IP or hostname遠(yuǎn)程的ip或者h(yuǎn)ostname,server-id標(biāo)記服務(wù)的唯一性id

    • option

    • no option輸出全部的參數(shù)和系統(tǒng)屬性

    • -flag name輸出對(duì)應(yīng)名稱的參數(shù)

    • -flag [+|-]name開(kāi)啟或者關(guān)閉對(duì)應(yīng)名稱的參數(shù)

    • -flag name=value設(shè)定對(duì)應(yīng)名稱的參數(shù)

    • -flags輸出全部的參數(shù)

    • -sysprops輸出系統(tǒng)屬性

    • Javacore 概述

      Javacore,也可以稱為“threaddump”或是“javadump”,它是 Java 提供的一種診斷特性,能夠提供一份可讀的當(dāng)前運(yùn)行的 JVM 中線程使用情況的快照。即在某個(gè)特定時(shí)刻,JVM 中有哪些線程在運(yùn)行,每個(gè)線程執(zhí)行到哪一個(gè)類(lèi),哪一個(gè)方法。應(yīng)用程序如果出現(xiàn)不可恢復(fù)的錯(cuò)誤或是內(nèi)存泄露,就會(huì)自動(dòng)觸發(fā) Javacore 的生成。

      使用方法

      1.jinfo pid:輸出當(dāng)前 jvm 進(jìn)程的全部參數(shù)和系統(tǒng)屬性

      2.jinfo -flag name pid:輸出對(duì)應(yīng)名稱的參數(shù)使用該命令,可以查看指定的 jvm 參數(shù)的值。如:查看當(dāng)前 jvm 進(jìn)程是否開(kāi)啟打印 GC 日志。

      3.jinfo -flag [+|-]name pid:開(kāi)啟或者關(guān)閉對(duì)應(yīng)名稱的參數(shù)

      使用 jinfo 可以在不重啟虛擬機(jī)的情況下,可以動(dòng)態(tài)的修改 jvm 的參數(shù)。尤其在線上的環(huán)境特別有用。

      4.jinfo -flag name=value pid:修改指定參數(shù)的值。

    • 注意:jinfo雖然可以在java程序運(yùn)行時(shí)動(dòng)態(tài)地修改虛擬機(jī)參數(shù),但并不是所有的參數(shù)都支持動(dòng)態(tài)修改
    • 5.jinfo -flags pid:輸出全部的參數(shù)

      6.jinfo -sysprops pid:輸出當(dāng)前 jvm 進(jìn)行的全部的系統(tǒng)屬性

      jhat

      主要是用來(lái)分析java堆的命令,可以將堆中的對(duì)象以html的形式顯示出來(lái),包括對(duì)象的數(shù)量,大小等等,并支持對(duì)象查詢語(yǔ)言。

      1.使用jmap命令導(dǎo)出堆文件jmap -dump:live,file=a.log pid

      也可以使用下面方式導(dǎo)出堆文件

      1、使用jconsole選項(xiàng)通過(guò)HotSpotDiagnosticMXBean從運(yùn)行時(shí)獲得堆轉(zhuǎn)儲(chǔ)(生成dump文件)、

      2、虛擬機(jī)啟動(dòng)時(shí)如果指定了-XX:+HeapDumpOnOutOfMemoryError選項(xiàng), 則在拋出OutOfMemoryError時(shí), 會(huì)自動(dòng)執(zhí)行堆轉(zhuǎn)儲(chǔ)。

      3、使用hprof命令

      2.使用jhat分析堆文件jhat -J-Xmx512M a1.log

      3.查看分析的html頁(yè)面

      http://ip:7000/jhat中的OQL(對(duì)象查詢語(yǔ)言)

      如果需要根據(jù)某些條件來(lái)過(guò)濾或查詢堆的對(duì)象,這是可能的,可以在jhat的html頁(yè)面中執(zhí)行OQL,來(lái)查詢符合條件的對(duì)象

      基本語(yǔ)法:

      select

      [from [instanceof] ]

      [where ]

      解釋?zhuān)?/p>

      (1)class name是java類(lèi)的完全限定名,如:java.lang.String,java.util.ArrayList, C是char數(shù)組,java.io.File是java.io.File[]

      (2)類(lèi)的完全限定名不足以唯一的辨識(shí)一個(gè)類(lèi),因?yàn)椴煌腃lassLoader載入的相同的類(lèi),它們?cè)趈vm中是不同類(lèi)型的

      (3)instanceof表示也查詢某一個(gè)類(lèi)的子類(lèi),如果不明確instanceof,則只精確查詢class name指定的類(lèi)

      (4)from和where子句都是可選的

      (5)java域表示:obj.field_name;java數(shù)組表示:array[index]

      舉例:

      (1)查詢長(zhǎng)度大于100的字符串

      select s from java.lang.String s where s.count > 100

      (2)查詢長(zhǎng)度大于256的數(shù)組

      select a from [I a where a.length > 256

      (3)顯示匹配某一正則表達(dá)式的字符串

      select a.value.toString() from java.lang.String s where /java/(s.value.toString())

      (4)顯示所有文件對(duì)象的文件路徑

      select file.path.value.toString() from java.io.File file

      (5)顯示所有ClassLoader的類(lèi)名

      select classof(cl).name from instanceof java.lang.ClassLoader cl

      (6)通過(guò)引用查詢對(duì)象

      select o from instanceof 0xd404d404 o

      built-in對(duì)象 -- heap

      (1)heap.findClass(class name) -- 找到類(lèi)

      select heap.findClass("java.lang.String").superclass

      (2)heap.findObject(object id) -- 找到對(duì)象

      select heap.findObject("0xd404d404")

      (3)heap.classes -- 所有類(lèi)的枚舉

      select heap.classes

      (4)heap.objects -- 所有對(duì)象的枚舉

      select heap.objects("java.lang.String")

      (5)heap.finalizables -- 等待垃圾收集的java對(duì)象的枚舉

      (6)heap.livepaths -- 某一對(duì)象存活路徑

      select heaplivepaths(s) from java.lang.String s

      (7)heap.roots -- 堆根集的枚舉

      辨識(shí)對(duì)象的函數(shù)

      (1)classof(class name) -- 返回java對(duì)象的類(lèi)對(duì)象

      select classof(cl).name from instanceof java.lang.ClassLoader cl

      (2)identical(object1,object2) -- 返回是否兩個(gè)對(duì)象是同一個(gè)實(shí)例

      select identical(heap.findClass("java.lang.String").name, heap.findClass("java.lang.String").name)

      (3)objectid(object) -- 返回對(duì)象的id

      select objectid(s) from java.lang.String s

      (4)reachables -- 返回可從對(duì)象可到達(dá)的對(duì)象

      select reachables(p) from java.util.Properties p -- 查詢從Properties對(duì)象可到達(dá)的對(duì)象

      select reachables(u, "java.net.URL.handler") from java.net.URL u -- 查詢從URL對(duì)象可到達(dá)的對(duì)象,但不包括從URL.handler可到達(dá)的對(duì)象

      (5)referrers(object) -- 返回引用某一對(duì)象的對(duì)象

      select referrers(s) from java.lang.String s where s.count > 100

      (6)referees(object) -- 返回某一對(duì)象引用的對(duì)象

      select referees(s) from java.lang.String s where s.count > 100

      (7)refers(object1,object2) -- 返回是否第一個(gè)對(duì)象引用第二個(gè)對(duì)象

      select refers(heap.findObject("0xd4d4d4d4"),heap.findObject("0xe4e4e4e4"))

      (8)root(object) -- 返回是否對(duì)象是根集的成員

      select root(heap.findObject("0xd4d4d4d4"))

      (9)sizeof(object) -- 返回對(duì)象的大小

      select sizeof(o) from [I o

      (10)toHtml(object) -- 返回對(duì)象的html格式

      select "+ toHtml(o) + "" from java.lang.Object o

      (11)選擇多值

      select {name:t.name?t.name.toString():"null",thread:t} from instanceof java.lang.Thread t

      數(shù)組、迭代器等函數(shù)

      (1)concat(enumeration1,enumeration2) -- 將數(shù)組或枚舉進(jìn)行連接

      select concat(referrers(p),referrers(p)) from java.util.Properties p

      (2)contains(array, expression) -- 數(shù)組中元素是否滿足某表達(dá)式

      select p from java.util.Properties where contains(referres(p), "classof(it).name == 'java.lang.Class'")

      返回由java.lang.Class引用的java.util.Properties對(duì)象

    • built-in變量

    • it -- 當(dāng)前的迭代元素

    • index -- 當(dāng)前迭代元素的索引

    • array -- 被迭代的數(shù)組

    • (3)count(array, expression) -- 滿足某一條件的元素的數(shù)量

      select count(heap.classes(), "/java.io./(it.name)")

      (4)filter(array, expression) -- 過(guò)濾出滿足某一條件的元素

      select filter(heap.classes(), "/java.io./(it.name)")

      (5)length(array) -- 返回?cái)?shù)組長(zhǎng)度

      select length(heap.classes())

      (6)map(array,expression) -- 根據(jù)表達(dá)式對(duì)數(shù)組中的元素進(jìn)行轉(zhuǎn)換映射

      select map(heap.classes(),"index + '-->' + toHtml(it)")

      (7)max(array,expression) -- 最大值, min(array,expression)

      select max(heap.objects("java.lang.String"),"lhs.count>rhs.count")

    • built-in變量

    • lhs -- 左邊元素

    • rhs -- 右邊元素

    • (8)sort(array,expression) -- 排序

      select sort(heap.objects('[C'),'sizeof(lhs)-sizeof(rhs)')

      (9)sum(array,expression) -- 求和

      select sum(heap.objects('[C'),'sizeof(it)')

      (10)toArray(array) -- 返回?cái)?shù)組

      (11)unique(array) -- 唯一化數(shù)組

      jmap

      打印進(jìn)程、核心文件或遠(yuǎn)程調(diào)試服務(wù)器的共享對(duì)象內(nèi)存映射或堆內(nèi)存詳細(xì)信息。

      jmap [option]

      (to connect to running process) 連接到正在運(yùn)行的進(jìn)程

      jmap [option]

      (to connect to a core file) 連接到核心文件

      jmap [option] [server_id@]

      (to connect to remote debug server) 連接到遠(yuǎn)程調(diào)試服務(wù)

      option

    • pid:目標(biāo)進(jìn)程的PID,進(jìn)程編號(hào),可以采用ps -ef | grep java查看java進(jìn)程的PID;

    • executable:產(chǎn)生core dump的java可執(zhí)行程序;

    • core:將被打印信息的core dump文件;

    • remote-hostname-or-IP:遠(yuǎn)程debug服務(wù)的主機(jī)名或ip;

    • server-id:唯一id,假如一臺(tái)主機(jī)上多個(gè)遠(yuǎn)程debug服務(wù);

    • 使用方法

    • jmap -dump:[live,]format=b,file= PID:使用hprof二進(jìn)制形式,輸出jvm的heap內(nèi)容到文件

    • jmap -finalizerinfo PID:打印正等候回收的對(duì)象的信息

    • jmap -heap PID:打印heap的概要信息,GC使用的算法,heap(堆)的配置及JVM堆內(nèi)存的使用情況。

    • jmap -histo:live PID:打印每個(gè)class的實(shí)例數(shù)目,內(nèi)存占用,類(lèi)全名信息。VM的內(nèi)部類(lèi)名字開(kāi)頭會(huì)加上前綴”*”. 如果live子參數(shù)加上后,只統(tǒng)計(jì)活的對(duì)象數(shù)量.

    • jmap -permstat PID:打印classload和jvm heap長(zhǎng)久層的信息. 包含每個(gè)classloader的名字、活潑性、地址、父classloader和加載的class數(shù)量。另外,內(nèi)部String的數(shù)量和占用內(nèi)存數(shù)也會(huì)打印出來(lái)。

    • -F強(qiáng)迫.在pid沒(méi)有相應(yīng)的時(shí)候使用-dump或者-histo參數(shù)。在這個(gè)模式下,live子參數(shù)無(wú)效。

    • -h | -help打印輔助信息

    • -J傳遞參數(shù)給jmap啟動(dòng)的jvm.

    • jstack
    • jstack命令主要用于調(diào)試java程序運(yùn)行過(guò)程中的線程堆棧信息,可以用于檢測(cè)死鎖,進(jìn)程耗用cpu過(guò)高報(bào)警問(wèn)題的排查。jstack命令會(huì)打印出所有的線程,包括用戶自己?jiǎn)?dòng)的線程和jvm后臺(tái)線程。

      命令格式

      jstack -[option] pid

      option

    • -F強(qiáng)制dump線程堆棧信息. 用于進(jìn)程hung住,jstack命令沒(méi)有響應(yīng)的情況

    • -m同時(shí)打印java和本地(native)線程棧信息,m是mixed mode的簡(jiǎn)寫(xiě)

    • -l打印鎖的額外信

    • 作者:楚瑞濤 https://blog.csdn.net/cong____cong/article/details/106349866
    • 公眾號(hào)“Java精選”所發(fā)表內(nèi)容注明來(lái)源的,版權(quán)歸原出處所有(無(wú)法查證版權(quán)的或者未注明出處的均來(lái)自網(wǎng)絡(luò),系轉(zhuǎn)載,轉(zhuǎn)載的目的在于傳遞更多信息,版權(quán)屬于原作者。如有侵權(quán),請(qǐng)聯(lián)系,筆者會(huì)第一時(shí)間刪除處理!

      最近有很多人問(wèn),有沒(méi)有讀者交流群!加入方式很簡(jiǎn)單,公眾號(hào)Java精選,回復(fù)“加群”,即可入群!

      (微信小程序):3000+道面試題,包含Java基礎(chǔ)、并發(fā)、JVM、線程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架構(gòu)設(shè)計(jì)等,在線隨時(shí)刷題!

      ------ 特別推薦 ------

      特別推薦:專(zhuān)注分享最前沿的技術(shù)與資訊,為彎道超車(chē)做好準(zhǔn)備及各種開(kāi)源項(xiàng)目與高效率軟件的公眾號(hào),「大咖筆記」,專(zhuān)注挖掘好東西,非常值得大家關(guān)注。點(diǎn)擊下方公眾號(hào)卡片關(guān)注。

      文章有幫助的話,在看,轉(zhuǎn)發(fā)吧!

    二、新建虛擬機(jī)報(bào)錯(cuò),錯(cuò)誤Unable to create a new virtual machine: No permission to perform this operation

    雖然用kvm能成功安裝好XP,linux 但是虛擬出來(lái)的系統(tǒng),由于是橋接的物理網(wǎng)卡,暫時(shí)有點(diǎn)點(diǎn)問(wèn)題,可以上網(wǎng),也可以ping通外網(wǎng),就是內(nèi)網(wǎng)互ping暫時(shí)沒(méi)找到解決辦法。原來(lái)一直用VM搭建虛擬環(huán)境,索性就裝了個(gè)VM,出現(xiàn)Unable to create a new virtual machine: No permission to perform this operat,google翻譯了下,原來(lái)是無(wú)法創(chuàng)建虛擬機(jī)。直接進(jìn)入切換到root桌面,找到你要把虛擬鏡像安裝的文件夾,然后右擊,權(quán)限-》在群組那選擇可讀可寫(xiě)(又名讀寫(xiě)),然后在切換到普通用戶。OK,問(wèn)題解決。

    沒(méi)有安裝桌面的,思路:把普通用戶加入到root群組去,然后把虛擬鏡像安裝的文件夾權(quán)限設(shè)置為750或者777,OK 問(wèn)題解決。

    (摘自網(wǎng)上,希望有所幫助)

    三、eclipse 無(wú)法啟動(dòng) 無(wú)法創(chuàng)建虛擬機(jī) 怎么解決?

    解決方法:

    打開(kāi)eclipse目錄下的eclipse.ini文件,修改–launcher.XXMaxPermSize屬性,其中此屬性有兩處

    -startup

    plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar

    --launcher.library

    plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810

    -product

    org.eclipse.epp.package.jee.product

    --launcher.defaultAction

    openFile

    --launcher.XXMaxPermSize

    256M

    -showsplash

    org.eclipse.platform

    --launcher.XXMaxPermSize

    256m

    --launcher.defaultAction

    openFile

    -vmargs

    -Dosgi.requiredJavaVersion=1.5

    -Xms40m

    -Xmx512m

    將其值改為128m即可,如下。(事實(shí)上,只改后面一個(gè)就可以,啟動(dòng)eclipse時(shí)以后者為準(zhǔn))

    -startup

    plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar

    --launcher.library

    plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810

    -product

    org.eclipse.epp.package.jee.product

    --launcher.defaultAction

    openFile

    --launcher.XXMaxPermSize

    128M

    -showsplash

    org.eclipse.platform

    --launcher.XXMaxPermSize

    128m

    --launcher.defaultAction

    openFile

    -vmargs

    -Dosgi.requiredJavaVersion=1.5

    -Xms40m

    -Xmx512m

    然后就可以成功啟動(dòng)。

    四、無(wú)法創(chuàng)建分頁(yè)文件 (F:\虛擬機(jī)程序\Windows XP Professional.vmem) 為 256 MB: 系統(tǒng)找不到指定的文件。

    路徑中不能有中文,修改為其他英文路徑就可以了。

    以上就是關(guān)于無(wú)法創(chuàng)建虛擬機(jī)未找到文件相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。


    推薦閱讀:

    微店莫名不能登錄(微店無(wú)法登錄什么情況)

    抖音來(lái)客門(mén)店認(rèn)領(lǐng)無(wú)法入駐(抖音來(lái)客門(mén)店認(rèn)領(lǐng)無(wú)法入駐怎么回事)

    磁盤(pán)采用gpt分區(qū)無(wú)法安裝系統(tǒng)盤(pán)(win10磁盤(pán)采用gpt分區(qū) 無(wú)法安裝系統(tǒng)盤(pán))

    2018微信小程序排行榜

    游戲周排行榜(游戲周銷(xiāo)量)