MySQL Error number: MY-012683; Symbol: ER_IB_MSG_858; SQLSTATE: HY000

文档解释

Error number: MY-012683; Symbol: ER_IB_MSG_858; SQLSTATE: HY000

Message: %s

错误说明

MySQL ER_IB_MSG_858错误属于InnoDB错误,该错误号码是MY-012683(Error number: MY-012683)。 该错误的错误信息是一条警告消息,表示操作系统可能没有配置足够的页面缓存来加速系统I/O操作。 其他可能的SQLSTATE代码是HY000(SQLSTATE: HY000)。

常见案例

ER_IB_MSG_858错误 is mostlikely to happen when MySQL is running on a computer with low RAM or when there are too many active concurrent threads that are accessing the same files needing too many pagecache pages.

解决方法

一个解决ER_IB_MSG_858错误的选项是增加可用的RAM。还可以尝试减少Concurrent Threads数量或限制threadbufs来阻止系统要求更多的缓存页。 如果使用的是MySQL 5.7.9或更高版本,还可以启用innodb_adaptive_page_cleaner,它可以自动处理少量的缓存页,避免在大量I/O时消耗高缓存页面的内存。 此外,如果系统使用不当的I/O方法(例如使用I/O池等DME),或者常见的I/O性能问题(例如RAID的设置等),也会导致该错误。在这种情况下,必须检查系统I/O设置。另外,有时我们可以停止膨胀某些MySQL系统变量,如innodb_max_dirty_pages池,以减少页面写入到硬盘的数量,但如果太多,可能会导致系统写入延误问题。

你可能感兴趣的