查看redis的服务 ps -ef|grep redis 重启redis服务 1.源码安装的 切换目录 cd /usr/local/redis-3.2.6/ 关闭: ./redis-cli -p 6379 -a password shutdown 启动: ./redis-server /etc/redis_6379.conf 2.修改配置 config set stop-writes-on-bgsave-error no redis deamon no 但愿打印日志 若是是性能日志,使用 redis-cli 连上后执行 INFO 命令就行, 查看错误日志的话,使用 tail -f ${日志文件路径} 查看,日志文件路径在 启动配置文件里有设置,例如: logfile "/usr/local/var/log/redis.log" 注意日志的输出级别的设置: loglevel notice redis 开启实例化会保存数据到dump.rdb文件中,通常使用BGSAVE方式,会fork一个子线程处理,至关于占了两倍的内存, 若是内存过大会致使redis宕机,能够修改vm.overcommit_memory 修改方法: (1)编辑/etc/sysctl.conf ,改vm.overcommit_memory=1,而后sysctl -p 使配置文件生效 (2) sysctl vm.overcommit_memory=1 (3) echo 1 > /proc/sys/vm/overcommit_memory vm.overcommit_memory不一样的值说明: 0 表示检查是否有足够的内存可用,若是是,容许分配;若是内存不够,拒绝该请求,并返回一个错误给应用程序。 1 容许分配超出物理内存加上交换内存的请求 2 内核老是返回true redis的数据回写机制分为两种 同步回写即SAVE命令。redis主进程直接写数据到磁盘。当数据量大时,这个命令将阻塞,响应时间长 异步回写即BGSAVE命令。redis 主进程fork一个子进程,复制主进程的内存并经过子进程回写数据到磁盘。 因为RDB文件写的时候fork一个子进程。至关于复制了一个内存镜像。当时系统的内存是4G,而redis占用了 近3G的内存,所以确定会报内存没法分配。若是 「vm.overcommit_memory」设置为0,在可用内存不足的状况 下,就没法分配新的内存。若是 「vm.overcommit_memory」设置为1。 那么redis将使用交换内存。
参考: https://www.cnblogs.com/MPPC/p/5924738.html https://www.jianshu.com/p/da69edda2a43 https://blog.csdn.net/kk185800961/article/details/53326465 https://blog.csdn.net/gxut555/article/details/50527789 https://segmentfault.com/a/1190000004135982?_ea=505055#articleHeader18