一种内存泄漏处理方法、装置及机组与流程

文档序号:37311846发布日期:2024-03-13 21:01阅读:18来源:国知局
一种内存泄漏处理方法、装置及机组与流程

本发明涉及机组,具体而言,涉及一种内存泄漏处理方法、装置及机组。


背景技术:

1、内存泄漏是指已被占用的内存由于某种原因未被释放或无法释放。在机组控制器程序中,内存泄漏造成的影响是很大的,因为内存泄漏后,会导致程序占用系统内存越来越大,但是系统内存是有限的,当程序占用内存超过这个限度后,程序就会崩溃,进而造成机组停机。但是很多机组是需要长期运行的,这样停机后还不能自动复位的情况,是不允许出现的。

2、机组内存泄漏可能是某个操作一直申请内存,这个申请内存的操作如果申请的内存较多,并且重复申请的频率较快,程序可能运行一天就因为内存泄漏而崩溃了,这种情况还好,时间短,好复现,在程序测试的时候就可以解决。但是如果这个重复申请内存的操作申请的内存较少,申请的频率也较低,这样就有可能在运行几个月后才会因为内存泄漏而造成程序崩溃。这种几个月才出现一次的情况在测试的时候是很难测出来的,因为在程序崩溃前,程序的运行是正常的,而且在控制器断电重启后,程序的内存占用率会恢复初始状态,例如,3个月程序会因内存泄漏崩溃,如果程序连续运行了2个月29天时突然停电了,重启之后,需要再连续运行3个月才能监测到内存泄漏崩溃的现象。

3、在机组测试中,会经常进行断电上电这一操作,所以在测试的时候机组连续运行几个月是不现实的,如果机组连续运行一年才出现一次内存泄漏的情况,就更不可能测试出来了。而且程序中申请内存的操作非常多,具体定位到异常的申请内存的操作也是非常困难的。但是机组控制器出现内存泄漏后程序就崩溃了,这对用户来说是不合理的,总不能每次程序崩溃,用户都要去断电上电重启一次,尤其是凌晨程序崩溃了,机组停机,这种情况更麻烦。因此,即使查不到原因,也需要先保证用户的机组能正常复位运行。

4、针对现有技术中机组控制器程序内存泄漏导致机组停机无法使用的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本发明实施例提供一种内存泄漏处理方法、装置及机组,以至少解决现有技术中机组控制器程序内存泄漏导致机组停机无法使用的问题。

2、为解决上述技术问题,本发明实施例提供了一种内存泄漏处理方法,包括:

3、监控机组控制器程序的内存占用率;

4、当所述内存占用率达到第一预设阈值时,输出提示信息,以提示用户重启机组控制器;

5、在未收到用户重启指令的情况下,当所述内存占用率上升到第二预设阈值时,在指定时间段自动重启机组控制器,其中,所述第一预设阈值小于所述第二预设阈值。

6、可选的,在指定时间段自动重启机组控制器,包括:

7、确定机组运行负荷最小的时间段;

8、在所述机组运行负荷最小的时间段自动重启所述机组控制器。

9、可选的,确定机组运行负荷最小的时间段,包括:

10、在机组运行过程中,将机组运行数据上传至云平台,以使所述云平台根据该机组在过去设定时间内的历史运行数据分析得到过去设定时间内机组运行负荷最小的时间段;

11、当所述内存占用率上升到第二预设阈值时,向所述云平台发送请求;

12、接收所述云平台下发的机组运行负荷最小的时间段。

13、可选的,若该机组所在区域包括至少两台相同机型的机组,则所述云平台针对各机组,分别得到过去设定时间内各机组运行负荷最小的时间段,并进行比较,确定其中最小负荷对应的时间段作为最终结果。

14、可选的,所述云平台根据该机组在过去设定时间内的历史运行数据分析得到过去设定时间内机组运行负荷最小的时间段,包括:

15、所述云平台接收所述机组控制器上传的通知消息,其中,所述通知消息包括所述机组控制器程序的内存占用率达到所述第一预设阈值的时刻以及达到所述第二预设阈值的时刻;

16、所述云平台计算所述内存占用率从第一预设阈值上升到第二预设阈值所需要的第一时间;

17、所述云平台根据所述第一时间预估所述内存占用率从第二预设阈值上升到第三预设阈值所需要的第二时间;

18、所述云平台根据所述第二时间确定所述设定时间,以分析得到过去设定时间内机组运行负荷最小的时间段。

19、可选的,在重启机组控制器之前,还包括:创建单独的文件,并使用该文件来保存机组当前的参数设置和运行状态;

20、在重启机组控制器之后,读取所述文件中的参数设置和运行状态,以使重启前后的机组状态一致。

21、本发明实施例还提供了一种内存泄漏处理装置,包括:

22、监控模块,用于监控机组控制器程序的内存占用率;

23、提示模块,用于当所述内存占用率达到第一预设阈值时,输出提示信息,以提示用户重启机组控制器;

24、重启模块,用于在未收到用户重启指令的情况下,当所述内存占用率上升到第二预设阈值时,在指定时间段自动重启机组控制器,其中,所述第一预设阈值小于所述第二预设阈值。

25、本发明实施例还提供了一种机组,包括:本发明实施例所述的内存泄漏处理装置。

26、本发明实施例还提供了一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例所述方法的步骤。

27、本发明实施例还提供了一种非易失性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所述方法的步骤。

28、应用本发明的技术方案,监控机组控制器程序的内存占用率,根据内存占用率来判断内存是否泄漏,当内存占用率达到第一预设阈值时,提示用户手动重启机组控制器,若用户没重启,当内存占用率上升到第二预设阈值时,在指定时间段自动重启机组控制器,由此保证机组控制器程序内存泄漏后仍能正常复位运行,防止内存泄漏卡死,保障机组的稳定运行,解决了机组控制器程序内存泄漏导致机组停机无法使用的问题。



技术特征:

1.一种内存泄漏处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,在指定时间段自动重启机组控制器,包括:

3.根据权利要求2所述的方法,其特征在于,确定机组运行负荷最小的时间段,包括:

4.根据权利要求3所述的方法,其特征在于,若该机组所在区域包括至少两台相同机型的机组,则所述云平台针对各机组,分别得到过去设定时间内各机组运行负荷最小的时间段,并进行比较,确定其中最小负荷对应的时间段作为最终结果。

5.根据权利要求3所述的方法,其特征在于,所述云平台根据该机组在过去设定时间内的历史运行数据分析得到过去设定时间内机组运行负荷最小的时间段,包括:

6.根据权利要求1至5中任一项所述的方法,其特征在于,在重启机组控制器之前,还包括:创建单独的文件,并使用该文件来保存机组当前的参数设置和运行状态;

7.一种内存泄漏处理装置,其特征在于,包括:

8.一种机组,其特征在于,包括:权利要求7所述的内存泄漏处理装置。

9.一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。

10.一种非易失性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述方法的步骤。


技术总结
本发明公开一种内存泄漏处理方法、装置及机组。其中,该方法包括:监控机组控制器程序的内存占用率;当所述内存占用率达到第一预设阈值时,输出提示信息,以提示用户重启机组控制器;在未收到用户重启指令的情况下,当所述内存占用率上升到第二预设阈值时,在指定时间段自动重启机组控制器,其中,所述第一预设阈值小于所述第二预设阈值。本发明保证机组控制器程序内存泄漏后仍能正常复位运行,防止内存泄漏卡死,保障机组的稳定运行,解决了机组控制器程序内存泄漏导致机组停机无法使用的问题。

技术研发人员:张志恒,陆贵生,李治成,毛凤梅,陈定健
受保护的技术使用者:珠海格力电器股份有限公司
技术研发日:
技术公布日:2024/3/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1