java監控linux
A. java能遠程監控linux主機的cpu和內存使用情況么
能的.你打開其他機器的 SNMP協議.然後用你的機器去訪問其他機器,獲取SNMP信息, 就能得到 CPU使用率,硬碟使用率,內存使用率,網卡流量等等信息了
B. java如何實現linux下實時監控文件是否有變化 / 藍訊
File file = new File("path");//所屬文件夾的路徑 if(file.isDirectory()){ File[] files = file.listFiles(); if(files.length > 0){ System.out.println("有文件"); } else { System.out.println("空文件夾,沒有文件"); } }
C. 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
D. 怎麼用JAVA實現監控LINUX下CPU的使用率 windows下怎麼查看呢用什麼方法 請高手指教,謝謝!
用java的話,有兩個方法:
1.利用java直接調用shell命令查看cpu的參數(系統不同命令也不同)
類似代碼:
可以查考http://aimer311.javaeye.com/blog/347908
2.利用軟體linux下可以安裝net-snmp實現遠程和本地監控
具體方法的話比較負責你網上查查
因為不知道你的linux到底是什麼系統所有我沒法給你寫命令
E. 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就應該可以了 不知道你是不是這個需求?
F. 在linux裡面怎麼監控一個java程序的運行
可以寫一個腳本進行監控
可以用 ps top jstack 等命令來查看和監控進程。
參考1
參考2
我是海騰數據中心的技術小哥,很高興為您解答問題。
G. 如何用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上。看。的
H. java如何在linux下監聽某個目錄下是否有文件改變
JDK 7 的nio2 WatchService可以監聽文件系統。
Oracle官方教程鏈接 http://docs.oracle.com/javase/tutorial/essential/io/notification.html
樣例代碼:
importstaticjava.nio.file.StandardWatchEventKinds.*;
Pathpath=Paths.get("/home");
WatchServicewatchService=FileSystems.getDefault().newWatchService();
WatchKeywatchKey=path.register(watchService,ENTRY_CREATE,ENTRY_DELETE,ENTRY_MODIFY);
/*
privatebooleannotDone=true;
while(notDone){
try{
WatchKeywatchKey=watchService.poll(60,TimeUnit.SECONDS);
List<WatchEvent.Kind<?>>events=watchKey.pollEvents();
for(WatchEventevent:events){
//.register
PathwatchedPath=(Path)watchKey.watchable();
//returnstheeventtype
=event.kind();
//returnsthecontextoftheevent
Pathtarget=(Path)event.context();
}
if(!watchKey.reset()){
...handlesituationnolongervalid
}
}catch(InterruptedExceptione){
Thread.currentThread().interrupt();
}
}
*/
I. java程序怎麼檢測linux平台下啟動了哪些進程
String[] cmd = {
"/bin/sh",
"-c",
"ps -ef | grep 進程名"
};
Process p = Runtime.getRuntime().exec(cmd);
J. java如何實現linux下實時監控文件是否有變化
java 的WatchService 類提供了一種方式可以檢查
try
{
WatchService watchService = FileSystems.getDefault()
.newWatchService();
Path path = Paths.get(pathName);
// 注冊監聽器
path.register(watchService,
StandardWatchEventKinds.ENTRY_CREATE,
StandardWatchEventKinds.ENTRY_DELETE);
while (true)
{
// 阻塞方式,消費文件更改事件
List<WatchEvent<?>> watchEvents = watchService.take()
.pollEvents();
for (WatchEvent<?> watchEvent : watchEvents)
{
System.out.printf("[%s]文件發生了[%s]事件。%n", watchEvent
.context(), watchEvent.kind());
}
}
}
catch (Exception e)
{
}