可以写一个脚本进行监控
可以用 ps top jstack 等命令来查看和监控进程。
参考1
参考2
我是海腾数据中心的技术小哥,很高兴为您解答问题。
CPU资源时,按照以下步骤进行查找:(一):通过【 top -p 12377 -H】 查看java进程的有哪些线程的运行情况;
和通过【jstack 12377 >stack.log】生成Java线程的dump详细信息;
先用top命令找出占用资源厉害的java进程id,如图:# top
如上图所示,java的进程id为’52554′,接下来用top命令单独对这个进程中的所有线程作监视:
1top -p 52554 -H
# top视图里面里面可以通过快捷键依次b ,x高亮显示top的列找出需要的线程,默认CPU排序,Sh
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)
{
}