本篇内容介绍了“Innodb怎么自动开启打印show engine status到err日志”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!为什么我的err日志里面有大量的show engine innodb status的记录,我自己并没有开启innodb_status_output参数。通过查看日志,发现如下输出:日志也写得很清楚。应该是free block不够了Innodb自动开启了。但是我们需要源码验证一下。在源码的buf_LRU_handle_lack_of_free_blocks函数中我们看到如下:这里不仅打印出了日志同时设置了参数srv_print_innodb_monitor = true; 并且开始os_event_set(srv_monitor_event);开启了monitor打印线程。那我们看看srv_print_innodb_mo免费主机域名nitor 对应什么参数呢。如下:实际上就是innodb_status_output被自动开了。当然如果查看调用可以在上层函数buf_LRU_get_free_block中查看到调用,实际上就是在free list找不到空闲的block的时候会做输出。buf_LRU_get_free_block还包含了一个块的分配流程大约如下,可自行参考:If there is a block in the free list, take it .如果这里找不到就会自动开启innodb_status_outputIf no block was in the free list, search from the end of the LRU list and try to free 免费主机域名a block there.No free block was found: try to flush the LRU list.“Innodb怎么自动开启打印show engine status到err日志”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注云技术网站,小编将为大家输出更多高质量的实用文章!
本篇内容主要讲解“怎么理解Oracle checkpoint”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解Oracle checkpoint”吧!checkpoint扫盲什么是checkpoint 在数据库…