進程監控java
Ⅰ 怎樣採用java實現對系統進程的監控
http://blog.csdn.net/linzhanggeorge/article/details/4419801
SWT Win32 Extension 是Eclipse類庫SWT的Win32本地原生擴展.
本項目提供了一個軟體開發工具庫,能夠讓您使用Java語言開發原生的Windows應用程序而不需要編寫額外的JNI代碼。使用SWT Win32 Extension,您將不需要創建原生的動態鏈接庫來調用操作系統動態鏈接庫的系統API或者方法。您僅僅需要做的就是編寫Java代碼, SWT Win32 Extension來負責剩下的部分。SWT Win32 Extension提供了一系列的功能使您的應用程序看上去和Win32本機程序別無二致。
窗口裝飾功能:提供窗口置頂,透明,閃動等功能。
自定義窗口:創建不規則的窗口。
訪問Windows注冊表。
系統文件夾:獲取系統特殊文件加的路徑和圖標。
系統快捷方式:管理系統快捷方式。
系統相關信息:收集系統CPU,內存,環境變數等相關信息。
系統會話:提供關機,休眠,重啟,注銷等功能。
系統IO及網路功能:提供磁碟和網路相關信息。
活動桌面功能:管理Windows活動桌面。
系統鉤子:注冊和卸載系統鉤子,能夠攔截和處理系統事件。
窗口系統菜單:管理窗口菜單。用戶可以自定義系統菜單和處理菜單事件。
Ole 控制項:提供對一些常用控制項的封裝,比如flash。 值得一提的是,您能夠訪問SWT提供的所有功能,因為SWT Win32 Extension是從SWT派生出來的。
Ⅱ java 進程用什麼監控比較好
JDK本身提供了很多方便的JVM性能調優監控工具,除了集成式的VisualVM和jConsole外,還有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起拋磚引玉之用,讓大家能開始對JVM性能調優的常用工具有所了解。
現實企業級Java開發中,有時候我們會碰到下面這些問題:
OutOfMemoryError,內存不足
內存泄露
線程死鎖
鎖爭用(Lock Contention)
Java進程消耗CPU過高
......
Ⅲ Java一個進程監視另一個程序的數據
我也剛接觸java沒多久,不知道說的對不對,只是我一個初級人士的想法。。
我想應該是創建一個介面,然後運行時當A掃描到一個uri時,用I/O流輸出到那個介面,再用B接受那個介面,不知道想的對不對。。。剛剛接觸,只能想到目前學到的東西,別罵我小白。。。
Ⅳ Java監控一個進程的執行狀態
應用程序很高興對所有這些活動一無所知。它只知道自己的虛擬地址空間。但是,如果當前在主存中的頁面集(稱為 駐留集)少於實際要使用的頁面集(稱為 工作集),應用程序的性能很快就會顯著降低。(不幸的是,本文中您將看到,我們要討論的工具常常交換使用這兩個術語,盡管它們指的是完全不同的事物。) Task Manager 和 PerfMon 我們首先考察兩種最常見的工具:Task Manager 和 PerfMon。這兩個工具都隨 Windows 一起提供,因此由此起步比較容易。 Task Manager Task Manager 是一種非常見的 Windows 進程監控程序。您可以通過熟悉的 Ctrl-Alt-Delete 組合鍵來啟動它,或者右擊任務欄。Processes 選項卡顯示了最詳細的信息,如圖 2 所示。 圖 2. Task Manager 進程選項卡 圖 2 中顯示的列已經通過選擇 View --> Select Columns 作了調整。有些列標題非常含糊,但可以在 Task Manager 幫助中找到各列的定義。和進程內存使用情況關系最密切的計數器包括: Mem Usage(內存使用):在線幫助將其稱為進程的工作集(盡管很多人稱之為駐留集)——當前在主存中的頁面集。但是這個數值包含能夠和其他進程共享的頁面,因此要注意避免重復計算。比方說,如果要計算共享同一個 DLL 的兩個進程的總內存佔用情況,不能簡單地把「內存使用」值相加。 Peak Mem Usage(內存使用高峰值):進程啟動以來 Mem Usage(內存使用)欄位的最大值。 Page Faults(頁面錯誤):進程啟動以來要訪問的頁面不在主存中的總次數。 VM Size(虛擬內存大小):聯機幫助將其稱為「分配給進程私有虛擬內存總數。」更確切地說,這是進程所 提交的內存。如果進程保留內存而沒有提交,那麼該值就與總地址空間的大小有很大的差別。 雖然 Windows 文檔將 Mem Usage(內存使用)稱為工作集,但在該上下文中,它實際上指的是很多人所說的駐留集(resident set),明白這一點很重要。您可以在 Memory Management Reference 術語表(請參閱 參考資料)中找到這些術語的定義。 工作集 更通常的含義指的是一個邏輯概念,即在某一點上為了避免分頁操作,進程需要駐留在內存中的那些頁面。 PerfMon 隨 Windows 一起提供的另一種 Microsoft 工具是 PerfMon,它監控各種各樣的計數器,從列印隊列到電話。PerfMon 通常在系統路徑中,因此可以在命令行中輸入 perfmon 來啟動它。這個工具的優點是以圖形化的方式顯示計數器,很容易看到計數器隨時間的變化情況。 請在 PerfMon 窗口上方的工具欄中單擊 + 按鈕,這樣會打開一個對話框讓您選擇要監控的計數器,如圖 3a 所示。計數器按照 性能對象分成不同的類別。與內存使用關系最密切的兩個類是 Memory 和 Process。選中計數器然後單擊 Explain 按鈕,就可以看到計數器的定義。說明出現在主對話框下方彈出的單獨的窗口中。
Ⅳ 如何使用JDK自帶jvisualvm監控工具
1 啟動jvisualvm 首先到JDK安裝目錄/bin目錄下,雙擊jvisualvm.exe文件啟動
2 進入jvisualvm界面,右側為正在運行的Java程序,小編打開了一個jconsole程序來做示例
3 雙擊要監控的Java進行,有關監控進程的概要,監控,線程等信息都會以圖像的方式顯現出來,能更方便的對Java運行程序做分析
4 右鍵左邊欄,正在運行的Java程序,可以執行Dump,線程,Dump堆的操作並且可以將正在運行的程序進行快照儲備,同時可以設置在發生內存溢出時自動生成Dump文件。
5 右鍵【文件】-->【添加遠程主機】可對遠程運行的Java程序進行監控
6 菜單欄,工具-->插件 輔助功能 可以幫助我們更細致對Java程序進行監視分析,比如Visual GC 能顯示年輕代里的Eden區和survivor區的實時數據
7 Visualvm是一個非常實用的Java 監控工具,操作十分方便,多用幾次就會很快的入手啦。
Ⅵ 怎麼能用JAVA對進程CPU,內存等進行監控。
TOP命令,不能只監控進程的CPU和內存的使用量,並且也不能看到使用量總和,還是用腳本吧,類型這樣:
ps -aux|grep java|awk ''|awk 'BEGIN END'
就可以,CPU同樣。
Ⅶ 在linux裡面怎麼監控一個java程序的運行
可以寫一個腳本進行監控
可以用 ps top jstack 等命令來查看和監控進程。
參考1
參考2
我是海騰數據中心的技術小哥,很高興為您解答問題。
Ⅷ 如何監控java進程
JDK本身提供了很多方便的JVM性能調優監控工具,除了集成式的VisualVM和jConsole外,還有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起拋磚引玉之用,讓大家能開始對JVM性能調優的常用工具有所了解。
現實企業級Java開發中,有時候我們會碰到下面這些問題:
OutOfMemoryError,內存不足
內存泄露
線程死鎖
鎖爭用(Lock Contention)
Java進程消耗CPU過高
......
這些問題在日常開發中可能被很多人忽視(比如有的人遇到上面的問題只是重啟伺服器或者調大內存,而不會深究問題根源),但能夠理解並解決這些問題是Java程序員進階的必備要求
A、 jps(Java Virtual Machine Process Status Tool)
jps主要用來輸出JVM中運行的進程狀態信息
B、 jstack
jstack主要用來查看某個Java進程內的線程堆棧信息。
C、 jmap(Memory Map)和jhat(java Heap Analysis Tool)
jmap用來查看堆內存使用狀況,一般結合jhat使用。
D、jstat(JVM統計監測工具)
Ⅸ 請教JAVA怎麼監控AIX的進程
首先要查誰用CPU最多:顯示前10個累計佔用CPU時間的進程#ps-e|head-n1;ps-e|grep-v"TIME|0:"|sort+2b-3-n-r|head-n10顯示前10個當前佔用CPU時間的進程#ps-ef|head-n1;ps-ef|grep-v"C|0:00"|sort+3b-4-n-r|head-n10Aix命令:列出使用內存和Cpu前幾位的進程(1)顯示10個消耗cpu最多的進程#psaux|head-1;psaux|sort-rn+2|head-10(2)顯示10個消耗內存最多的進程#psvx|head-1;psvx|grep-vPID|sort-rn+6|head-10(3)顯示10個換頁最多的進程#psvx|head-1;psvx|grep-vPID|sort-rn+4|head-10(4)顯示10個消耗存儲空間最多的進程#psaux|head-1;psaux|sort-rn+3|head-10如何監控進程的內存使用情況(AIX)AIX監控進程內存使用的工具比較多,個人覺得比較方便的有nmon,svmon,其中svmon是AIX自帶的工具,需要root許可權執行,可以監控進程詳細內存使用信息,如:svmon-Ppid(要監控的進程PID)-i1(每秒刷新一次)|greppidAIX下進程內存分析AIX下可以使用psv工具或者svmon工具來分析進程內存。比如:#svmon-P23288--------------------------------------------------------------------------------bitMthrd23288ora_pmon_ge17813workshmat/mmap1182400118240..2470017611perscode,largefile/dev96810--0....21804:65474....面這幾個命令組合對於管理RS/6000AIX系統有幫助:(1)顯示10個消耗CPU最多的進程:#psaux|head-1;psaux|sort-rn+2|head–10(2)顯示10個消耗存儲空間最多的進程:#psaux|head-1;psaux|sort-rn+3|head-10(3)按順序顯示系統中受罰的進程:#ps-eakl|head-1;ps-eakl|sort-rn+5(4)按優先順序順序顯示系統中的進程:#ps-eakl|sort-n+6|head(5)按處理時間為順序顯示系統中的前十個進程:#psvx|head-1;psvx|grep-vPID|sort-rn+3|head–10(6)按實際內存使用的多少順序顯示系統中的前十個進程:#psvx|head-1;psvx|grep-vPID|sort-rn+6|head–10(7)按換入頁面的多少順序顯示系統中的前10個進程:#psvx|head-1;psvx|grep-vPID|sort-rn+4|head-10(責任編輯:優優系統)