Ⅰ 請教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(責任編輯:優優系統)
Ⅱ 如何用java實現遠程監控linux伺服器磁碟io
對於遠程監控Linux主機系統CPU,內存使用情況,以前也使用了top等命令,但是最後還是覺得使用vmstat比較好.
運行top命令獲得系統CPU使用情況有兩個缺點,
第一運行top命令,執行的shell語句相對復雜.
用top命令獲得CPU使用情況的shell語句
top -b -n 2 | grep Cpu |sed 1d | awk '{print $5}' | cut -f 1 -d "."
第二:有時候系統峰值時間很短暫,容易造成誤判.
注意:運行本例子,你還需要下載第三方ganymed-ssh2-build251beta1.jar,改軟體主要用於通過ssh遠程登錄被監控主機.
ITjob上。看。的
Ⅲ 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 按鈕,就可以看到計數器的定義。說明出現在主對話框下方彈出的單獨的窗口中。
Ⅳ 怎麼用java實現web伺服器的監控
如何用Java實現Web伺服器 一、HTTP協議的作用原理
WWW是以Internet作為傳輸媒介的一個應用系統,WWW網上最基本的傳輸單位是Web網頁。WWW的工作基於客戶機/伺服器計算模型,由Web 瀏覽器(客戶機)和Web伺服器(伺服器)構成,兩者之間採用超文本傳送協議(HTTP)進行通信。HTTP協議是基於TCP/IP協議之上的協議,是Web瀏覽器和Web伺服器之間的應用層協議,是通用的、無狀態的、面向對象的協議。HTTP協議的作用原理包括四個步驟:
(1) 連接:Web瀏覽器與Web伺服器建立連接,打開一個稱為socket(套接字)的虛擬文件,此文件的建立標志著連接建立成功。
(2) 請求:Web瀏覽器通過socket向Web伺服器提交請求。HTTP的請求一般是GET或POST命令(POST用於FORM參數的傳遞)。GET命令的格式為:
GET 路徑/文件名 HTTP/1.0
文件名指出所訪問的文件,HTTP/1.0指出Web瀏覽器使用的HTTP版本。
(3) 應答:Web瀏覽器提交請求後,通過HTTP協議傳送給Web伺服器。Web伺服器接到後,進行事務處理,處理結果又通過HTTP傳回給Web瀏覽器,從而在Web瀏覽器上顯示出所請求的頁面。詳細方法可向itjob老師了解
Ⅳ Java如何監控Linux系統。
啥叫監控linux系統?
寫java程序執行linux命令?
try {
String command = "ping localhost";
Process ps = Runtime.getRuntime().exec(command);
BufferedReader br = new BufferedReader(new InputStreamReader(ps
.getInputStream()));
String line;
System.out.println("------------------------");
while ((line = br.readLine()) != null) {
System.out.println(line);
}
System.out.println("------------------------");
} catch (Exception e) {
e.printStackTrace();
}
執行結果:
------------------------
Pinging xxx [127.0.0.1] with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
------------------------
修改對應的command就應該可以了 不知道你是不是這個需求?
Ⅵ java如何實現對windows系統和Tomcat伺服器進行監控
可以實現,我試過,cpu、內存、磁碟空間等參數信息用C語言來寫一個DLL工程(extern "c"聲明),最好不要用C++寫,因為C++的導出函數會變名,然後java通過JNI規范調用C編寫的函數。
具體是先System.loadLibruary("dll名稱");
用C函數名,注意編譯DLL的時候需要java類的頭文件。cmd命令:javah Java類名。再直接調C函數。
Ⅶ 有什麼工具能監控java項目運行中,各個class,function,sql的執行效率,使用次數
監控java的話,可以到jdk,bin目錄下有很多監控管理工具,sql的話,可以通過show processlist(mysql)命令來查看正在運行的線程,正在執行的sql
Ⅷ java 怎麼監控linux上線程是否存在
CPU資源時,按照以下步驟進行查找:
(一):通過【 top -p 12377 -H】 查看java進程的有哪些線程的運行情況;
和通過【jstack 12377 > stack.log】生成Java線程的mp詳細信息;
先用top命令找出佔用資源厲害的java進程id,如圖:# top
如上圖所示,java的進程id為』52554′,接下來用top命令單獨對這個進程中的所有線程作監視:
1 top -p 52554 -H
# top視圖裡面裡面可以通過快捷鍵依次b ,x高亮顯示top的列找出需要的線程,默認CPU排序,Sh
Ⅸ 怎麼用JAVA實現監控LINUX下CPU的使用率 windows下怎麼查看呢用什麼方法 請高手指教,謝謝!
用java的話,有兩個方法:
1.利用java直接調用shell命令查看cpu的參數(系統不同命令也不同)
類似代碼:
可以查考http://aimer311.javaeye.com/blog/347908
2.利用軟體linux下可以安裝net-snmp實現遠程和本地監控
具體方法的話比較負責你網上查查
因為不知道你的linux到底是什麼系統所有我沒法給你寫命令
Ⅹ java 監控mysql資料庫
沒有使用這個命令。但是你的想法應該是可以實現的。
你可以嘗試使用 linux 遠程執行命令,把這個列表寫到一個固定文件中。
然後通過遠程讀取該文件的方式獲取的這個列表。