eXtremeDB内存预警机制

2022-07-28 00:00:00 函数 专区 数据管理 内存 实时

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);

}

但是,使用该函数的时候需要注意一点,如果应用使用的是多进程或者多线程,我们需要为每一个线程或者进程注册改函数。
————————————————
版权声明:本文为CSDN博主「liyu19870423」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liyu19870423/article/details/42811569

相关文章