JProfiler工具開啟dump檔案,分析jar包程式記憶體過大後cpu100%
開發的收集車輛資料程式跑了3-5小時,就會出現如下結果
發現程式執行記憶體在這幾個紅點波動,在CPU100%出現一段時間內程式會自動結束。
後來利用工具命令分析問題得出是因為記憶體不夠導致一直在GC,因為GC Task Thread佔用CPU比較高。
具體步驟如下
ps -mp 16991 -o THREAD,tid,time |sort -rn 列印CPU最高的執行緒
printf "%x\n" 17864 把執行緒ID轉換成16進位制
jstack 16991 |grep 42b2 -A 30 列印堆疊資訊
發現這個現象是因為記憶體問題,在記憶體出現最高時候dump
jmap -dump:live,format=b,file=xxx.xxx [pid] /path
接下來分析dump記憶體的工具有不少,比如JProfiler,jvisualvm。但是推薦使用JProfiler
這個用JProfiler有個小技巧,dump字尾要改成.hprof才能被JProfiler開啟。
相關推薦
JProfiler工具開啟dump檔案,分析jar包程式記憶體過大後cpu100%
開發的收集車輛資料程式跑了3-5小時,就會出現如下結果發現程式執行記憶體在這幾個紅點波動,在CPU100%出現一段時間內程式會自動結束。後來利用工具命令分析問題得出是因為記憶體不夠導致一直在GC,因為GC Task Thread佔用CPU比較高。具體步驟如下ps -mp 16
android studio工具類打jar包 任意目錄打jar包 任意檔案打jar包
專案中需要給別人提供jar,但是在網上搜的都是把整個moudle打包的,這個太不科學 了,我只要打包幾個類或者某個package下的所有檔案。自己研究了下算是解決了。1進入 project\build\intermediates\classes\release 資料夾2 在r
Android 將smali檔案轉為jar包
想要將smali檔案轉成jar包,需要經過兩個步驟: 1.將smali檔案轉成dex檔案; 將smali轉dex我們需要用到smali.jar這個jar,然後在當前目錄輸入:java -jar smali.jar test/smali/ -o classes.dex 2.將dex檔案轉成
上傳檔案的jar包 + 簡單的可執行 jar 檔案包製作
最近公司ftp 上傳有點問題,老是會出錯,為了保證上傳的準確性(有時候釋出版本需要先上傳ftp),特意做了一個上傳的jar demo。 基本邏輯: 上傳檔案 並記錄檔名, 之後下載剛才上傳的檔案, 對比上傳和下載的MD5值, 之後刪除本地下載的臨時檔案。
ResourceUtils.getFile 獲取檔案 獲取jar包中的資原始檔
摘要:通過Spring工具類獲取classpath下的檔案資源;獲取jar包中的資原始檔 1. web專案下classpath檔案獲取 方法(1)File resourcefile = ResourceUtils.getFile("classpath:applicat
Java檔案讀取 jar包內檔案讀取。
最近遇到一些Jar包內外配置檔案讀取的問題。索性自己測試總結一下,與大家分享。 主要是關於ClassLoader.getResource和Class.getResource方法路徑區別的問題。 1. 絕對路徑檔案讀取,最簡單,最直接的方式
如何使用Eclipse將Java工程打包成Jar包,並用bat檔案啟動Jar包
作者:翁鬆秀 如何使用Eclipse將Java工程打包成Jar包,並用bat檔案啟動Jar包 如何使用Eclipse將Java工程打包成Jar包,並用bat檔案啟動Jar包 一、用Eclipse將Java工程打包成J
application.properties多環境配置檔案、jar包外部配置檔案、配置項加密、程式中配置使用
一、簡介 spring boot專案application.properties檔案存放及使用介紹 二、方法一多環境配置檔案 我們一般都會有多個應用環境,開發環境、測試環境、生產環境,各個環境的配置會略有不同,我可以根據這個建立多份配置檔案,由主配置檔案來控制讀取那個子配置 建立spring boot專案
Android Studio快速匯入SO檔案與jAR包
首先將你需要匯入的jar包和so檔案 直接拷貝至Projuect目錄下的lib包下 在Module層級下的build.gradle檔案裡寫入此段程式碼 sourceSets{ main
根據pom.xml檔案下載jar包
1、需要到maven官網上下載軟體。 同時需要配置環境變數 2、Maven的簡單使用 建立專案根資料夾,例如Maven01 2、在Maven01資料夾中建立“pom.xml”檔案,如下圖所示: pom.xml檔案中的內容如下: 1
通過maven,給沒有pom檔案的jar包生成pom檔案,maven專案引入本地jar包
問題一: 經常遇到公司私服或者中央倉庫沒有的jar包,然後通過各種渠道找到了解決問題的jar包,但是發現沒有pom檔案,maven專案引入之後或者專案打包的時候報錯,通過maven就可以解決這個問題。前提是你安裝了maven,然後在命令列執行命令就OK了!!! 命令:
dex2jar反彙編android的dex/APK檔案為jar包命令和方法
1、下載dex2jar 2、windows系統開啟cmd進入dex2jar.bat目錄 輸入命令: dex2jar.bat ./classes.dex 或者 d2j-dex2jar classes.dex(classes.dex 為需要反編譯的檔案,) 3、即可生成
DUMP檔案分析4:棧溢位
前面說到過,棧溢位型別的異常通過程式設計的方式獲取DUMP可能不成功,因為棧溢位會破壞SEH(結構化異常處理)框架。實際上,通過DUMP檔案來除錯棧溢位同樣是困難的,因為棧溢位本身一般不會造成異常,異常往往發生在棧溢位破壞棧上的資料之後,同時,由於棧溢位破壞了棧上的資料,
◦將一個java檔案變成Jar包的過程
編譯一個帶包的java檔案,首先通過javac空格 –d(這裡一定要上-d)空格點(表示放在哪個目錄下面,點表示放在當前目錄)完整類名.java 執行包中的一個.class檔案的方式:java 完整
將properties檔案放在Jar包並讀取
有時候需要在一個library內部打包一個properties檔案,包含一些配置資訊,而不能部署在外部。在maven工程裡面,將properties檔案放在src/main/resources目錄下。就會自動打包到classes目錄下。然後在jar包的程式碼中想要讀取這個檔案
通過maven的pom檔案打jar包並指定jar的主類
通過在maven的pom.xml檔案加入如下的程式碼即可指定jar檔案的主類 <build> <plugins> <plugin> <groupId>or
maven打包排除指定檔案(jar包)
在使用maven打包時,有些時候需要排除某些檔案或者排除某些jar,不把這個檔案和jar打入到war包裡面 一、在專案的pom.xml檔案裡面新增如下配置: <!-- war包 --> <plugin> <groupId>org.apa
sublime開啟檔案時自動生成並開啟.dump檔案
GBK Encoding Support 沒有安裝前開啟ASNI格式編碼檔案會亂碼,安裝成功重啟則可以開啟正常 關於.dump檔案生成的解釋: 當開啟一個非utf-8格式且包含漢字的檔案時,sublime text 2會自動生成一個dump檔案,檔案修改過程中,
quartz屬性檔案和jar包說明
屬性的介紹(quartz.properties) # Default Properties file for use by StdSchedulerFactory # to create a Quartz Scheduler Instance, if a different
Kettle呼叫Java檔案(Jar包)
Kettle的指令碼–>Modified Java Script Value不僅可以寫js程式碼來處理資料,也可利用這個元件呼叫已經寫好的Jar檔案。 第一步、準備Java專案。 在I