MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk
2016-01-25 14:46
726 查看
环境:ubuntu14.04
redis报错:
MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
解决:
1,/etc/sysctl.conf中添加:
vm.overcommit_memory=1
2,ps aux|grep redis
找到redis-server服务,kill掉
3,启动redis-server:
sudo nohup redis-server /YOU_CONF_PATH/redis.conf &
这里/YOU_CONF_PATH/redis.conf表示redis配置文件的路径,没有特别配置不加;不需要root用户的不用加sudo
其他查询到的资料:
内核参数说明如下:
overcommit_memory文件指定了内核针对内存分配的策略,其值可以是0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存
错误原因:
简单地说:Redis在保存数据到硬盘时为了避免主进程假死,需要Fork一份主进程,然后在Fork进程内完成数据保存到硬盘的操作,如果主进程使用了4GB的内存,Fork子进程的时候需要额外的4GB,此时内存就不够了,Fork失败,进而数据保存硬盘也失败了。
注释:我top查看时,内存也是4G用了大概一半后报错的。
参考:
http://www.redicecn.com/html/Linux/20131125/468.html http://blog.csdn.net/anghlq/article/details/7087069 http://www.linuxidc.com/Linux/2012-07/66079.htm
redis报错:
MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
解决:
1,/etc/sysctl.conf中添加:
vm.overcommit_memory=1
2,ps aux|grep redis
找到redis-server服务,kill掉
3,启动redis-server:
sudo nohup redis-server /YOU_CONF_PATH/redis.conf &
这里/YOU_CONF_PATH/redis.conf表示redis配置文件的路径,没有特别配置不加;不需要root用户的不用加sudo
其他查询到的资料:
内核参数说明如下:
overcommit_memory文件指定了内核针对内存分配的策略,其值可以是0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存
错误原因:
简单地说:Redis在保存数据到硬盘时为了避免主进程假死,需要Fork一份主进程,然后在Fork进程内完成数据保存到硬盘的操作,如果主进程使用了4GB的内存,Fork子进程的时候需要额外的4GB,此时内存就不够了,Fork失败,进而数据保存硬盘也失败了。
注释:我top查看时,内存也是4G用了大概一半后报错的。
参考:
http://www.redicecn.com/html/Linux/20131125/468.html http://blog.csdn.net/anghlq/article/details/7087069 http://www.linuxidc.com/Linux/2012-07/66079.htm
相关文章推荐
- redis安装问题小结
- Redis偶发连接失败案例实战记录
- Redis中实现查找某个值的范围
- Redis和Memcached的区别详解
- 分割超大Redis数据库例子
- Redis总结笔记(一):安装和常用命令
- Redis sort 排序命令详解
- 用Redis实现微博关注关系
- redis中修改配置文件中的端口号 密码方法
- 在Ruby on Rails上使用Redis Store的方法
- Redis和Memcache的区别总结
- 在Node.js应用中使用Redis的方法简介
- Redis服务器的启动过程分析
- web 应用中常用的各种 cache详解
- 利用yum安装Redis的方法详解
- 从MySQL到Redis的简单数据库迁移方法
- 为啥懒 Redis 是更好的 Redis
- 利用Redis实现SQL伸缩的方法
- 在Redis数据库中实现分布式速率限制的方法
- PHP+redis实现添加处理投票的方法