阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Redis发生OOM command not allowed when used memory错误

310次阅读
没有评论

共计 803 个字符,预计需要花费 3 分钟才能阅读完成。




最近发现 WordPress 后台某些设置无法生效,比如修改文章置顶,更新主题信息等。F12 抓包看到 POST 返回正常结果,寻思是否是某个插件导致更新信息失败了?

问题背景

  • 环境:Oneinstack 安装的 Redis 服务
  • 程序:WordPress
  • WordPress 插件:Redis Object Cache

问题现象:WordPress 后台将某篇文章修改为置顶,但无法生效,设置后回头查看该文章状态依然显示未置顶。

问题排查

根据经验,首先想到的就是 Redis Object Cache 这个插件,果不其然,查看该插件状态显示“Not connected”

服务器上查看 Redis 进程存在,端口监听正常。同时使用 redis-cli 连接 Redis 服务也是正常的,那么问题来了为什么服务器上都可以正常连接 Redis 服务,但是 Redis Object Cache 插件却显示“Not connected”

继续查看 Redis Object Cache 插件日志,果不其然发现存在“OOM command not allowed when used memory”错误,如下图。

报错很明显,看起来是 Redis 内存受到了限制或者内存不足导致。使用 redis 命令:CONFIG GET maxmemory查看内存被限制为473000000(注意:这个单位是字节),也就是 400 多 Mb

猜测可能就是内存限制太小的原因,于是修改配置文件 redis.conf

maxmemory 473000000

修改为:

maxmemory 1073741824

然后重启 Redis 服务,并重启一次 WordPress 插件Redis Object Cache,再次查看插件显示连接正常,报错也消失了。

再次测试,修改 WordPress 文章置顶,功能已经正常。

最后

使用 Oneinstack 安装 Redis 的同学注意了,建议检查下 Redis 配置中内存大小限制,请根据服务配置和业务情况调整 Redis 内存限制,以免发生异常现象。

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计803字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中