當前位置:九游会j9娱乐平台-九游ag登录中心网址 » 編程語言 » unixjava

unixjava-九游会j9娱乐平台

發布時間: 2024-01-18 00:04:29

1. 如何查看unix伺服器java進程數量

可以使用ps命令。它能顯示當前運行中進程的相關信息,包括進程的pid。linux和unix都支持ps命令,顯示所有運行中進程的相關信息。
ps命令能提供一份當前進程的快照。如果你想狀態可以自動刷新,可以使用top命令。

2. 如何查看unix 的java內存使用情況

jmap (linux下特有,也是很常用的一個命令)
觀察運行中的jvm物理內存的佔用情況。
參數如下:
-heap :列印jvm heap的情況
-histo: 列印jvm heap的直方圖。其輸出信息包括類名,對象數量,對象佔用大小。
-histo:live : 同上,但是只答應存活對象的情況
-permstat: 列印permanent generation heap情況
命令使用:
jmap -heap 3409
可以觀察到new generation(eden space,from space,to space),tenured generation,perm generation的內存使用情況
輸出內容:
jmap -histo 3409 | jmap -histo:live 3409
可以觀察heap中所有對象的情況(heap中所有生存的對象的情況)。包括對象數量和所佔空間大小。
輸出內容:
寫個腳本,可以很快把佔用heap最大的對象找出來,對付內存泄漏特別有效。
如果結果很多,可以用以下命令輸出到文本文件。
jmap -histo 3409 | jmap -histo:live 3409 > a.txt
jinfo:可以輸出並修改運行時的java 進程的opts。
jps:與unix上的ps類似,用來顯示本地的java進程,可以查看本地運行著幾個java程序,並顯示他們的進程號。
jstat:一個極強的監視vm內存工具。可以用來監視vm內存內的各種堆和非堆的大小及其內存使用量。
jmap:列印出某個java進程(使用pid)內存內的所有'對象'的情況(如:產生那些對象,及其數量)。
jconsole:一個java gui監視工具,可以以圖表化的形式顯示各種數據。並可通過遠程連接監視遠程的伺服器vm。
詳細:在使用這些工具前,先用jps命令獲取當前的每個jvm進程號,然後選擇要查看的jvm。
jstat工具特別強大,有眾多的可選項,詳細查看堆內各個部分的使用量,以及載入類的數量。使用時,需加上查看進程的進程id,和所選參數。以下詳細介紹各個參數的意義。
jstat -class pid:顯示載入class的數量,及所佔空間等信息。
jstat -compiler pid:顯示vm實時編譯的數量等信息。
jstat -gc pid:可以顯示gc的信息,查看gc的次數,及時間。其中最後五項,分別是young gc的次數,young gc的時間,full gc的次數,full gc的時間,gc的總時間。
jstat -gccapacity:可以顯示,vm內存中三代(young,old,perm)對象的使用和佔用大小,如:pgcmn顯示的是最小perm的內存使用量,pgcmx顯示的是perm的內存最大使用量,pgc是當前新生成的perm內存佔用量,pc是但前perm內存佔用量。其他的可以根據這個類推, oc是old內純的佔用量。
jstat -gcnew pid:new對象的信息。
jstat -gcnewcapacity pid:new對象的信息及其佔用量。
jstat -gcold pid:old對象的信息。
jstat -gcoldcapacity pid:old對象的信息及其佔用量。
jstat -gcpermcapacity pid: perm對象的信息及其佔用量。
jstat -util pid:統計gc信息統計。
jstat -printcompilation pid:當前vm執行的信息。
除了以上一個參數外,還可以同時加上 兩個數字,如:jstat -printcompilation 3024 250 6是每250毫秒列印一次,一共列印6次,還可以加上-h3每三行顯示一下標題。
jmap是一個可以輸出所有內存中對象的工具,甚至可以將vm 中的heap,以二進制輸出成文本。
命令:jmap -mp:format=b,file=heap.bin
file:保存路徑及文件名
pid:進程編號
?jmap -histo:live pid| less :堆中活動的對象以及大小
?jmap -heap pid : 查看堆的使用狀況信息
jinfo:的用處比較簡單,就是能輸出並修改運行時的java進程的運行參數。用法是jinfo -opt pid 如:查看2788的maxperm大小可以用 jinfo -flag maxpermsize 2788。
jconsole是一個用java寫的gui程序,用來監控vm,並可監控遠程的vm,非常易用,而且功能非常強。使用方法:命令行里打 jconsole,選則進程就可以了。
jconsole中關於內存分區的說明。
eden space (heap): 內存最初從這個線程池分配給大部分對象。
survivor space (heap):用於保存在eden space內存池中經過垃圾回收後沒有被回收的對象。
tenured generation (heap):用於保持已經在 survivor space內存池中存在了一段時間的對象。
permanent generation (non-heap): 保存虛擬機自己的靜態(refective)數據,例如類(class)和方法(method)對象。java虛擬機共享這些類數據。這個區域被分割為只讀的和只寫的,
code cache (non-heap):hotspot java虛擬機包括一個用於編譯和保存本地代碼(native code)的內存,叫做「代碼緩存區」(code cache)
?jstack ( 查看jvm線程運行狀態,是否有死鎖現象等等信息) : jstack pid : thread mp
?jstat -gcutil pid 1000 100 : 1000ms統計一次gc情況統計100次;
另外推薦一款查看jmap mp 的內存對象工具 memoryanalyzer

熱點內容
愛奇藝正義聯盟為啥不能緩存 發布:2024-01-20 00:52:13 瀏覽:248
caccess查詢資料庫 發布:2024-01-20 00:43:10 瀏覽:769
xp文件夾圖標更改 發布:2024-01-20 00:43:03 瀏覽:19
python和node 發布:2024-01-20 00:37:12 瀏覽:194
android拖拉 發布:2024-01-20 00:00:49 瀏覽:583
少兒編程課程體系介紹 發布:2024-01-20 00:00:48 瀏覽:846
我說你做下載ftp 發布:2024-01-20 00:00:47 瀏覽:8
安卓驅動培訓哪裡好 發布:2024-01-19 23:55:41 瀏覽:987
python轉為字元串 發布:2024-01-19 23:51:39 瀏覽:272
合同文件夾 發布:2024-01-19 23:50:52 瀏覽:740
网站地图