什么会导致Redis RDB快照暂停?
我在Ubuntu14.04上安装了redis,而且我似乎每周都会遇到RDB快照的问题。Redis版本为3.0.4 64位 3838:M 24 Feb 09:46:28.826*后台保存成功终止什么会导致Redis RDB快照暂停?,redis,Redis,我在Ubuntu14.04上安装了redis,而且我似乎每周都会遇到RDB快照的问题。Redis版本为3.0.4 64位 3838:M 24 Feb 09:46:28.826*后台保存成功终止 3838:M 24 Feb 09:47:29.088*100000在60秒内更改。保存 3838:M 24 Feb 09:47:29.230*后台保存由pid 17281启动17281:信号处理程序(1456338079)收到SIGTERM调度关闭 3838:M 24 Feb 13:24:19.358#后
3838:M 24 Feb 09:47:29.088*100000在60秒内更改。保存
3838:M 24 Feb 09:47:29.230*后台保存由pid 17281启动
17281:信号处理程序(1456338079)收到SIGTERM调度关闭
3838:M 24 Feb 13:24:19.358#后台保存被信号9终止
3838:M 24 Feb 13:24:19.622*10在900秒内发生变化。保存
3838:M 24 Feb 13:24:19.730*后台保存由pid 17477启动
您看到的是,在上午9:47后台保存开始,但当我在下午1:24找到它时,它似乎完全停止。我发现分叉进程基本上没有活动——它消耗的内存量没有增加。我试图“杀死”孩子的过程,但它从来没有真正退出,所以我不得不以极端的偏见(-9)杀死它 当情况变得糟糕时,我的应用程序中会出现以下错误: 2016-02-24 13:11:12046[2344]错误KCollector.Main-添加到Redis时出错:没有可用的连接来服务此操作:SADD ALLCH 我的redis配置只做rdb快照(没有AOF)。负载很重,每秒有数千次写入 目前我的redis后台保存没有成功,后台进程比常规进程大得多,我的虚拟机开始交换。这是我的上衣。3838是我的redis实例,17477是后台保存过程(如上所述): top-14:06:42最多118天,2:05,1个用户,平均负载:1.07,1.07,1.13
任务:共81项,3项运行,78项睡眠,0项停止,0项僵尸
%中央处理器:0.8us,1.5sy,0.0ni,45.8id,51.3wa,0.0hi, 0.5 si,0.0 st
KiB内存:总计8176996个,使用8036792个,可用140204个,120个缓冲区
KiB交换:总计6289404,使用3968236,免费2321168。4044缓存内存
PID用户PR NI VIRT RES SHR S%CPU%MEM TIME+命令
36根20 0 0 0 S 2.3 0.0 288:05.05 kswapd0
3838 rrr 20 0 7791836 3.734g 612 S 2.0 47.9330:08.65 redis服务器
17477 rrr 20 0 7792228 6.606g 364 D 1.0 84.7 0:43.49 redis服务器
这是非常有趣的,因为我不记得曾经读过这样的问题,所以发现根本原因可能非常有用 因此,这里报告的是一个子进程,它保持长时间的活动状态,甚至继续分配内存。如果不是进程内存中的数据损坏,导致RDB进程发现意外情况并以某种方式永远循环,我对此没有任何解释 有几个问题:
gdb-p
中断进程并获取进程的堆栈跟踪INFO
输出,以检查版本和其他配置事项及状态免费
输出谢谢。内存统计数据来自rdb子项运行一段时间后。它并不是从交换状态开始的——事实上,它离交换状态还很远。在编写rdb大约10-15分钟后,它就进入了这种状态。关于是否在重新启动流程后发生,您的意思是重新启动子进程还是重新启动父进程?我以前重新启动过这个孩子,但它最终还是处于相同的状态。我最终不得不把我的整个redis都拆了,让它重新启动。Cpu从来都不高-从来没有真正超过10%。明天我将尝试获取redis信息(尽管我给出了版本)顺便说一句。。。我知道你是redis神:-)非常感谢你的回答。当它再次发生时,我一定会尽可能多地捕捉。如果我进行捕获交换,那么答案是否只是增加内存?我觉得这是个愚蠢的问题,但我觉得有必要问。。。我的IT人员讨厌这个东西已经有这么大的内存了。我知道我可以启动一个集群,但我必须至少多站2个节点才能减少每个节点的大小,因此我们服务器场中的总内存占用量显著增加…@longofest 8G对于服务器来说现在真的不是很多RAM。我的笔记本电脑的运行速度是原来的两倍。@不是高尔夫球手哦,我同意。但很难让IT部门相信这一点。再次捕捉到它,事实上,我的服务器正在交换。谢谢你的反馈。