eXtremeDB内存预警机制

eXtremeDB 当内存使用完毕之后,它不保证数据库的使用正确。但是,eXtremeDB提供了内存预警机制,我们可以设置当内存使用到一定的范围时,给用户一个提醒,我们可以通过回调函数做相关的工作。 该函数为mco_register_alloc_callback,请参见相关文档。 例如:

mco_register_alloc_callback(m_pclConnCtx->pclSession->getHandle(), alloc_callback, MCO_ALLOC_USED, m_nMemorySize/2);

void alloc_callback(mco_db_h db, mco_offs_t used ) {

MCO_RET rc = MCO_S_OK; mco_size32_t free_pages = 0; mco_size32_t total_pages = 0;

printf("\nCharles*\n\n"); rc = mco_db_free_pages(db, &free_pages ); if(MCO_S_OK != rc) {

printf("\n rc1 = %d\n", rc);

} rc = mco_db_total_pages(db, &total_pages); if ( MCO_S_OK != rc) {

printf("\n* rc2 = %d\n", rc);

} printf("Free pages count is %d, total pages count is %d\n" ,free_pages, total_pages);

}

但是,使用该函数的时候需要注意一点,如果应用使用的是多进程或者多线程,我们需要为每一个线程或者进程注册改函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值