MySQL Error number: MY-011041; Symbol: ER_PFS_MALLOC_ARRAY_OOM; SQLSTATE: HY000 报错 故障修复 远程处理

文档解释

Error number: MY-011041; Symbol: ER_PFS_MALLOC_ARRAY_OOM; SQLSTATE: HY000

Message: Failed to allocate %zu bytes for buffer ‘%s’ due to out-of-memory.

错误说明

MY-011041是MySQL错误代码,它表示ER_PFS_MALLOC_ARRAY_OOMSQLSTATE HY000 错误, 这是一个内部错误,提示基于预分配内存(Percona内存池)分配数组时内存分配失败。

常见案例

这个错误主要影响到具有大量数据的MySQL查询。在大数据查询过程中,MySQL的预内存分配将内存用尽,从而导致失败,并出现本错误。

解决方法

1.在MySQL服务器上,检查服务器是否具有足够的可用内存,如果不足,则增加服务器内存。

2.研究MySQL查询,注意散列操作等,尝试重写MySQL查询。

3.将PDO改为MyISAM引擎。

4.如果预分配的内存已经被用尽,系统将不会尝试使用系统内存,因此,您可以在my.cnf中将某些内存分配增加,例如sort_buffer_size、join_buffer_size、read_buffer_size和read_rnd_buffer_size。

5.去掉多余的记录的多余的字段,可以使得你的索引部分更小。

6.改用MEMORY引擎以减少内存消耗。


数据运维技术 » MySQL Error number: MY-011041; Symbol: ER_PFS_MALLOC_ARRAY_OOM; SQLSTATE: HY000 报错 故障修复 远程处理