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