一种云计算中自动监测进程内存使用情况的方法

文档序号:6630993阅读:220来源:国知局
一种云计算中自动监测进程内存使用情况的方法
【专利摘要】本发明涉及一种云计算中自动监测进程内存使用情况的方法,属于云计算中集群性能调优及监视领域,利用定时执行脚本jvmstat.sh来实现,具体步骤为:①将jvmstat.sh脚本和配置文件复制,并发送到Hadoop集群的每个节点,将jvmstat.sh添加至crontab,启动crondservice;②jvmstat.sh脚本获取所有java进程内存使用情况,并对进程各区阈值超出警戒设定阈值的情况进行实时报警;本发明用于hadoop集群中各java进程的内存监测,及时发现内存潜在威胁以及OOM错误的解决提供依据,达到最优化内存使用,提高集群系统性能的目的。
【专利说明】—种云计算中自动监测进程内存使用情况的方法

【技术领域】
[0001]本发明涉及一种监测进程内存使用情况的方法,属于云计算中集群性能调优及监视领域,具体地是一种云计算中自动监测进程内存使用情况的方法。

【背景技术】
[0002]^8(1001)是一个能够对大量数据进行分布式处理的软件框架。他如。!)是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。他如叩是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。其中分布式匕如叩集群是云计算的关键技术,它充分利用了云计算带来的便利,也给云计算注入无尽的活力。集群的守护进程以及运行的应用进程,通常关系紧密,并且处理数据量庞大,会耗费大量内存,实时监测掌握内存的变化情况,并据此将内存调整到最优比例,最大程度发挥系统性能,提高应用程序的吞吐率,避免内存溢出错误,成为需要解决的至关重要的问题,本发明提供的一种云计算中自动监测进程内存使用情况的方法,该方法自动定时记录所有』观进程内存的使用情况,并保存到不同的日志中,并根据配置文件中设定的阈值进行实时报警,用于1121(1001)集群中各扣妨进程的内存监测,为分布式任务的内存调优、及时发现内存潜在威胁提供依据,达到最优化内存使用,提高集群系统性能的目的。


【发明内容】

[0003]本发明针对现有技术存在的不足和问题,提供一种云计算中自动监测进程内存使用情况的方法,提出的具体方案是:
一种云计算中自动监测进程内存使用情况的方法,利用定时执行脚本力咖仏七81!来实现,具体步骤为:
①将?11181:21七811脚本和配置文件复制,并发送到!13(1001)集群的每个节点,将』^咖仏七811 添力口至启动 01-011(1;
②力咖仏七81!脚本获取所有扣%进程内存使用情况,并对进程各区阈值超出警戒设定阈值的情况进行实时报警;
所述的步骤②中?11181:21七811脚本获取服务器正在运行的』VIII进程名,使用命令获取内存使用情况并写入日志。
[0004]所述的步骤②中进程各区阈值包括区、£(1611区、01(1区、区的内存使用阈值,以及60和而11 60产生频率的阈值以及利用时间的阈值。
[0005]所述的步骤②中使用配置文件力咖仏七⑶社保存进程各区阈值的警戒设定阈值。
[0006]本发明的有益之处是:本发明提供的一种云计算中自动监测进程内存使用情况的方法,该方法自动定时记录所有进程内存的使用情况,并保存到不同的日志中,并根据配置文件中设定的阈值进行实时报警,用于匕如叩集群中各扣妨进程的内存监测,为分布式任务的内存调优、及时发现内存潜在威胁提供依据,提高集群系统性能的目的。

【专利附图】

【附图说明】
[0007]图1执行?11181:21七811脚本的流程示意图。

【具体实施方式】
[0008]结合实例,对本发明进行具体描述。
[0009](1)811 脚本伪代码如下:
读取所有进程编号和名称存入0111^111:
(10
¢11-01181116=从011如111:中取出当前进程名
¢11-0110=从011如111:中取出当前进程号
1^111-01181116^^ 1.1(3?
将当前时间写入日志
』8七81: - 80 $¢1^0110 -- ^ 1^1161181116 //内存使用情况写入日志


-- ^ 于| 161181116
( (1=31 ; 1?^8 ; 1++))
(10
从配置文件?11181:21七0011?中读出相应阈值读取日志文件获得内存参数相应值 1?(内存参数值〉(010阈值)
发送告警邮件给运维人员
(^0116
(^0116
(2) 口¢)11.0X0X1
^/1 木木木木 /11^/113,(100^/^0^1^1/^011.511
实施例1
一种云计算中自动监测进程内存使用情况的方法,利用定时执行脚本#1118仏七4来实现,具体步骤为:
①将?11181:21七811脚本和配置文件复制,并发送到他如。!)集群的每个节点,将』^咖仏七811 添力口至(^0111:813,启动 01-011(1 861^106 ;
②?11181:21七811脚本获取所有扣妨进程内存使用情况,使用命令获取内存使用情况并写入日志,并对进程各区阈值超出警戒设定阈值的情况进行实时报警,使用配置文件?11181:21七0011?保存进程各区阈值的警戒设定阈值,
结合图1,81!脚本具体工作流程为:(1)开始运行:(2)读取本地服务器进程信息:(3)若还有进程:是,发现区进程,则?1~0的1116二取出进程名取出进程号XXX,获取当前进程的内存使用情况存入相应的日志文件;(4)若还有未比较阈值:是,从配置文件中读出阈值XXX,从日志文件获取相应参数值;(5)判断(4)中读取的阈值是否超范围:是,发送告警邮件后返回“)。
[0010]所述的步骤②中进程各区阈值包括811口;1^01~区、£(1611区、01(1区、区的内存使用阈值,以及60和而11 60产生频率的阈值以及利用时间的阈值。
[0011]实施例2
一种云计算中自动监测进程内存使用情况的方法,利用定时执行脚本力咖仏七也来实现,具体步骤为:
①将?11181:21七811脚本和配置文件复制,并发送到他如。!)集群的每个节点,将』^咖仏七811 添力口至启动 01-011(1 861^106 ;
②?11181:21七811脚本获取所有扣妨进程内存使用情况,使用命令获取内存使用情况并写入日志,并对进程各区阈值超出警戒设定阈值的情况进行实时报警,使用配置文件?11181:21七0011?保存进程各区阈值的警戒设定阈值,
结合图1,81!脚本具体工作流程为:(1)开始运行:(2)读取本地服务器进程信息:(3)若还有进程:否,贝I』结束;是,?1~0的1116二取出进程名/9^0110=取出进程号,』8七已1:获取当前进程的内存使用情况存入相应的日志文件;(4)若还有未比较阈值:是,发现办叩和?1111 产生频率的阈值,从配置文件中读出阈值,从日志文件获取相应参数值;(5)判断(4)中读取的阈值是否超范围:否,则返回“)。
[0012]实施例3
一种云计算中自动监测进程内存使用情况的方法,利用定时执行脚本力咖仏七也来实现,具体步骤为:
①将?11181:21七811脚本和配置文件复制,并发送到他如。!)集群的每个节点,将』^咖仏七811 添力口至启动 01-011(1 861^106 ;
②?11181:21七811脚本获取所有扣妨进程内存使用情况,使用命令获取内存使用情况并写入日志,并对进程各区阈值超出警戒设定阈值的情况进行实时报警,使用配置文件?11181:21七0011?保存进程各区阈值的警戒设定阈值,
结合图1,81!脚本具体工作流程为:(1)开始运行:(2)读取本地服务器进程信息;(3)若还有进程:否,则结束。
【权利要求】
1.一种云计算中自动监测进程内存使用情况的方法,其特征是利用定时执行脚本jvmstat.sh来实现,具体步骤为: ①将jvmstat.sh脚本和配置文件复制,并发送到Hadoop集群的每个节点,将jvmstat.sh 添力口至 crontab,启动 crond service ; ②jvmstat.sh脚本获取所有java进程内存使用情况,并对进程各区阈值超出警戒设定阈值的情况进行实时报警; 根据权利要求1所述的一种云计算中自动监测进程内存使用情况的方法,其特征是所述的步骤②中jvmstat.sh脚本获取服务器正在运行的jvm进程名,使用jstat命令获取内存使用情况并写入日志。
2.根据权利要求1或2所述的一种云计算中自动监测进程内存使用情况的方法,其特征是所述的步骤②中进程各区阈值包括survivor区、Eden区、Old区、Perm区的内存使用阈值,以及Yong GC和Full GC产生频率的阈值以及利用时间的阈值。
3.根据权利要求3所述的一种云计算中自动监测进程内存使用情况的方法,其特征是所述的步骤②中使用配置文件jvmstat.conf保存进程各区阈值的警戒设定阈值。
【文档编号】G06F11/30GK104346255SQ201410561098
【公开日】2015年2月11日 申请日期:2014年10月21日 优先权日:2014年10月21日
【发明者】范莹, 于治楼, 梁华勇 申请人:浪潮集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1