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)
{
}