
# 如何处理Linux实例中的page allocation failure问题？
#### 问题描述
在系统的dmesg日志或者message日志中显示page allocation failure报错，如下图所示。此时系统可能处于网络不通、丢包或者IO异常的异常状态。
![](https://support.huaweicloud.com/trouble-ecs/zh-cn_image_0000002444739418.png "点击放大")
#### 可能原因
page allocation failure报错表示分配内存页失败。常见的原因有：
- 实例内存使用率高。
- 实例内存使用率不高（低于80%），但是业务IO（网络、存储）压力大，网络消耗的速度快于系统内存的回收速度。
 
#### 处理方法
| **问题原因**                                              | **处理建议**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|
| 实例内存使用率高。                                             | 升级实例内存配置：[变更ECS规格](https://support.huaweicloud.com/usermanual-ecs/ecs_03_9005.html)。 注意： 更改实例规格的过程中，您需要停止并重新启动ECS实例，建议您在非业务高峰期时执行该操作，减少对您业务造成的影响。                                                                                                                                                                                                                                                                                                                                                 |
| 实例内存使用率不高（低于80%），但是业务IO（网络、存储）压力大，网络消耗的速度快于系统内存的回收速度。 | 需要针对高IO场景进行内存优化： 建议调优内核参数vm.min_free_kbytes到默认值（一般为67584）的三倍，修改步骤如下： 1. 执行以下命令，修改内核参数。 ``` echo "vm.min_free_kbytes=202752" >> /etc/sysctl.conf ```   2. 执行如下命令，使结果生效。 ``` sysctl -p ```    注意： vm.min_free_kbytes该参数如果配置过大会导致应用能够使用的内存过小，更容易触发OOM的异常，建议该参数配置的值不要超过内存的3%。 |
   
