跳到主要内容

mem_watch_dog

简介

基于mem_record实现的内存监控

组件接口

mem_watch_dog.gs

函数原型函数作用
MemUsageWatchDog create_mem_watch_dog()创建一个 MemUsageWatchDog 实例,等效于 emUsageWatchDog.new()

MemUsageWatchDog

内存使用情况监控

成员变量

变量名类型初始值须初始化描述
m_strategyWatchDogStrategynil可选监控回调函数
m_intervalfloat0.5可选监控间隔(单位:秒)
m_record_intervalfloat5可选记录间隔(单位:秒)
m_record_typeMemRecordType"MemRecordType.LOG_RECORD"可选内存记录类型(默认:MemRecordType.LOG_RECORD)
m_in_work_flagboolfalse可选是不是处于工作状态
m_log_filefilenil可选日志文件

成员方法

函数原型函数作用

样例


import pkg.mem_watch_dog;

// 创建 MemUsageWatchDog
MemUsageWatchDog a = MemUsageWatchDog.new(
"/mem_watch_dog.log", // 参数1(默认为nil),内存记录文件,如果路径为nil则不输出到文件
parallel (MemUsageWatchDog dog, int now_memory_size){
if (now_memory_size >= 1 * 1024 * 1024 * 1024)
return true;
return false;
}, // 参数2(默认为nil),触发记录策略,应该是一个parallel函数,返回true则开始记录内存分配情况。为nil 则使用默认策略
0.5, // 参数3(默认为0.5),扫描间隔,单位为秒,WatchDog将会以此为间隔,调用给定的策略函数;
1.0, // 参数4(默认为1.0),记录时长,单位为秒,在记录触发后,WatchDog将记录接下来这段时间内的内存分配详情
MemRecordType.LOG_RECORD // 参数5(默认为MemRecordType.LOG_RECORD),记录类型,详见 http://gsdocs.g-bits.com:3000/#/Information/Gs_mem_report?id=%e7%ae%80%e4%bb%8b
);

// 不需要的时候,可以调用close关闭
a.close();