The invention discloses a method and a device for obtaining a Java virtual machine running state includes: when the detected Java virtual machine startup, start the first permanent monitoring process, to monitor the running state of the Java virtual machine; add the running state of the Java virtual machine is the first permanent monitoring process to monitor the state file corresponding to the first permanent monitoring of the process. Not excessive consumption of CPU resources does not affect the performance of the host.
【技术实现步骤摘要】
本申请属于计算机
,具体地说,涉及一种获取Java虚拟机运行状态的方法和装置。
技术介绍
为了充分利用硬件资源,在宿主机中通常会同时启用多个java虚拟机。获取java虚拟机的运行状态信息,并提供给java虚拟机的用户,以便辅助用户对java虚拟机的运行参数调整优化或者对应用进行扩容。目前获取java虚拟机的运行状态信息的方法通常是使用Java虚拟机状态监控工具(JavaVirtualMachinestatisticsmonitoringtool,jstat),jstat获取信息前需要先附着(attach)java虚拟机进程,附着瞬间会消耗一定的CPU资源。由于用户业务的需要,监控数据采集必须采用固定频率,当在某一宿主机中启动多个java虚拟机时,采集脚本同时附着所有的java虚拟机进程,会造成大量的CPU资源消耗,影响宿主机的性能。
技术实现思路
有鉴于此,本申请提供了一种获取Java虚拟机运行状态的方法和装置,以解决获取多个Java虚拟机运行状态时CPU资源占用过高,影响宿主机运行状态的技术问题。为了解决上述技术问题,本申请公开了一种获取Java虚拟机的运行状态的方法,包括:当检测到Java虚拟机启动时,启动第一常驻监控进程,以监控所述Java虚拟机的运行状态;将所述第一常驻监控进程监控到的所述Java虚拟机的运行状态添加到与所述第一常驻监控进程对应的状态文件中。为了解决上述技术问题,本申请还公开了一种获取Java虚拟机的运行状态的方法,包括:当同时运行多个Java虚拟机时,同时运行与所述多个Java虚拟机数量相当的第一常驻监控进程,以分别对应一个 ...
【技术保护点】
一种获取Java虚拟机的运行状态的方法,其特征在于,包括:当检测到Java虚拟机启动时,启动第一常驻监控进程,以监控所述Java虚拟机的运行状态;将所述第一常驻监控进程监控到的所述Java虚拟机的运行状态添加到与所述第一常驻监控进程对应的状态文件中。
【技术特征摘要】
1.一种获取Java虚拟机的运行状态的方法,其特征在于,包括:当检测到Java虚拟机启动时,启动第一常驻监控进程,以监控所述Java虚拟机的运行状态;将所述第一常驻监控进程监控到的所述Java虚拟机的运行状态添加到与所述第一常驻监控进程对应的状态文件中。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:创建与所述第一常驻监控进程对应的第一定时任务,以周期性的从所述状态文件中读取所述Java虚拟机的运行状态;将读取到的所述Java虚拟机的运行状态上传至服务端。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:创建与所述第一常驻监控进程对应的第二定时任务,以周期性的检测所述状态文件的大小是否大于或等于预设阈值;当所述状态文件的大小大于或等于预设阈值时,杀死所述第一常驻监控进程并删除所述状态文件;启动第二常驻监控进程,以继续监控所述Java虚拟机的运行状态。4.一种获取Java虚拟机的运行状态的方法,其特征在于,包括:当同时运行多个Java虚拟机时,同时运行与所述多个Java虚拟机数量相当的第一常驻监控进程,以分别对应一个Java虚拟机并分别监控对应的Java虚拟机的运行状态;将每个所述第一常驻监控进程监控到的Java虚拟机的运行状态,分别添加到每个所述第一常驻监控进程所对应的状态文件中。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在所述第一常驻监控进程对Java虚拟机进行监控时,运行与所述第一常驻监控进程对应的第一定时任务,以周期性的从所述状态文件中读取对应的Java虚拟机的运行状态;将读取到的Java虚拟机的运行状态上传至服务端。6.根据权利要求4所述的方法,其特征在于,所述方法还包括:在所述第一常驻监控进程对Java虚拟机进行监控时,运行与所述第一常驻监控进程对应的第二定时任务,以周期性的检测所述状态文件的大小是否大于或等于预设阈值;当所述状态文件的大小大于或等于预设阈值时,杀死对应的第一常驻监控进程并删除所述状态文件;启动与所述Java虚拟机对应的第二常驻监控进程,以继续监控所述Java虚拟机的运行状态。7.一种获取Java虚拟机的运行状态的装置,其特征在于,包括:第一启动模块,用于当检测到Java虚拟机启动时,启动第一常驻监控进程,以监控所述Java虚拟机的运行状态;第一添加模块,用于将所述第一常驻监控进程监控到的所述Java虚拟机的运行状态添加到与所述第一常驻监控进程对应的状态文件中。8.根据权利要求7所述的装置,其特征在于,所述装置还包括:第一创建模块,用于创建与所述第一常驻监控进程对应的第一定时任务,以周期性的从所述状态文件中读取所述Java虚拟机的运行状态;第一上传模块,用于将读取到的所述Java虚拟机的运...
【专利技术属性】
技术研发人员:茆亮亮,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。