Error number: MY-013819; Symbol: ER_HEALTH_WARNING_MEMORY_USAGE_LEVEL_3; SQLSTATE: HY000
Message: %s: Warning Level 3 (%llu MiB): available=%llu MiB, total=%llu MiB, used=%.2f%%, mysqld=%llu MiB
错误说明
MY-013819 (ER_HEALTH_WARNING_MEMORY_USAGE_LEVEL_3) 是MySQL中的一个标准错误,指示MySQL服务器内存使用率超过了设置的安全阈值。根据MySQL内存监控方案,服务器被划分成三个不同级别:低(等级1),中(等级2),严重(等级3)。 MY-013819 警告表明,MySQL服务器的内存使用率已超过设定的等级3阈值,也就是90%以上。
常见案例
持续高内存使用率最常见的原因是,应用程序以及MySQL服务都假定了内存可以呈线性增长,因而分配了大量的内存资源。比如,在应用程序中定义了处理大量数据的操作时期——使用了过多的内存,又或者,MySQL本身——由于优化器的设置,分配了过多的内存,使MySQL无法有效的利用其他可用资源,如CPU和磁盘存储空间。
解决方法
首先,应当在MySQL服务器的性能指标做出调整,防止内存使用率超过预定义的安全罢值——特别是采取预防措施,以避免对内存使用进行无谓的外援,并连带产生额外的加载。其次,为了提高MySQL服务器的性能,应当优化和更新MySQL优化器,使得MySQL能够更快更聪明的利用系统资源,如内存。最后,应当重新评估应用程序的内存需求,避免滥用内存资源。