Redis意外停止工作 [英] Redis stops working unexpectedly

查看:1827
本文介绍了Redis意外停止工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在Windows Server 2012 R2上使用Redis 3.2.100(从以下位置下载) https://github.com/MSOpenTech/redis/releases ).

有时候,我们会收到一个Windows消息弹出框,显示"Redis服务器已弯弯工作".对于此类实例,在redis日志文件中发现以下错误.

 * Redis无法继续.正在退出.
    [5496] 15 Apr 06:25:58.340#分叉操作失败
    [5496] 15 Apr 06:25:58.464#背景保护被信号1终止
    [5496] 15 Apr 06:26:04.094 * 1在300秒内更改.保存...
    [5496] 15 Apr 06:26:04.216 *由pid 9736开始的后台保存
    [9736] 15 Apr 00:56:04.275#
    Windows版本的Redis从系统页面文件中保留堆内存
    以便与用于持久性操作的分叉进程共享.
    系统分页文件.您可以增加系统页面文件的大小.
    有时重新启动将对系统页面文件进行充分的碎片整理
    该操作成功完成.* 

要解决此问题,需要进行必要的虚拟内存(页面文件)设置,该设置对您有所帮助.

但是,对于在单独的节点上运行的其他一些Redis服务器实例,我们得到的Windows消息与"Redis服务器已弯腰" 有效",则该解决方案不起作用,对于那些情况 我们发现了下面提到的错误- 

 * === REDIS BUG报告开始:剪切&从这里开始粘贴===
    Redis版本:3.2.100
    [5732] 5月4日10:24:14.169#--- EXCEPTION_ACCESS_VIOLATION
    [5732] 05 May 04:24:14.169#-堆栈跟踪
    redis-server.exe!LogStackTrace(c:\ release \ redis \ src \ win32_interop \ win32_stacktrace.cpp:95)(0x0013E300、0x0013FF90、0x00000001、0x4013A7F8)
    redis-server.exe!UnhandledExceptiontHandler(c:\ release \ redis \ src \ win32_interop \ win32_stacktrace.cpp:185)(0x00000000、0x00000000、0x00000000、0x597218B5)
    KERNELBASE.dll!UnhandledExceptionFilter(c:\ release \ redis \ src \ win32_interop \ win32_stacktrace.cpp:185)(0x00000000、0x66911DA0、0x00000000、0x0013FF20)
    ntdll.dll!内存集(c:\ release \ redis \ src \ win32_interop \ win32_stacktrace.cpp:185)(0x0013EF30、0x0013E3D0、0x40140E48、0x00000000)
    ntdll.dll!_C_specific_handler(c:\ release \ redis \ src \ win32_interop \ win32_stacktrace.cpp:185)(0x00000000、0x0013E470、0x0013EF30、0x0013EF30)
    ntdll.dll!_chkstk(c:\ release \ redis \ src \ win32_interop \ win32_stacktrace.cpp:185)(0x00000001、0x695C0000、0x00000000、0x696F409C)
    ntdll.dll!RtlRaiseException(c:\ release \ redis \ src \ win32_interop \ win32_stacktrace.cpp:185)(0x00000000、0x0013EEE0、0x0013F220、0x695EED7F)
    ntdll.dll!KiUserExceptionDispatcher(c:\ release \ redis \ src \ win32_interop \ win32_stacktrace.cpp:185)(0x40094F01、0x3E07C55F,0x400ACC91、0x0013F200)
    redis-server.exe!dictSdsHash(c:\ release \ redis \ src \ server.c:496)(0x3E07C55F,0x400ACC91、0x0013F200、0xE3EA40D0)
    redis-server.exe!dictFind(c:\ release \ redis \ src \ dict.c:517​​)(0x0013F220、0x00000001、0x00229C48、0x00000001)
    redis-server.exe!getExpire(c:\ release \ redis \ src \ db.c:871)(0x6DB460A0,0x0013F2E0,0x0013F2E0,0x03C07040)
    redis-server.exe!rdbSaveRio(c:\ release \ redis \ src \ rdb.c:814)(0x40167210、0x01BD0000、0x00000005、0x01FD2754)
    redis-server.exe!rdbSave(c:\ release \ redis \ src \ rdb.c:884)(0x01BD0000、0x01BD0000、0x590DF900、0x00000005)
    redis-server.exe!QForkChildInit(c:\ release \ redis \ src \ win32_interop \ win32_qfork.cpp:337)(0x00000005、0x00000000、0x002C6B10、0x00000005)
    redis-server.exe!QForkStartup(c:\ release \ redis \ src \ win32_interop \ win32_qfork.cpp:515)(0x00000006、0x00000000、0xFFFF7000、0x002C7A40)
    redis-server.exe!main(c:\ release \ redis \ src \ win32_interop \ win32_qfork.cpp:1240)(0x00000000、0x00000000、0x00000000、0xFFFF7000)
    redis-server.exe!__ tmainCRTStartup(f:\ dd \ vctools \ crt \ crtw32 \ startup \ crt0.c:255)(0x00000000、0x400459C0、0x00000000、0x00000000)
    KERNEL32.DLL!BaseThreadInitThunk(f:\ dd \ vctools \ crt \ crtw32 \ startup \ crt0.c:255)(0x693613B0、0x00000000、0x00000000、0x00000000)
    ntdll.dll!RtlUserThreadStart(f:\ dd \ vctools \ crt \ crtw32 \ startup \ crt0.c:255)(0x00000000、0x00000000、0x00000000、0x00000000)
    ntdll.dll!RtlUserThreadStart(f:\ dd \ vctools \ crt \ crtw32 \ startup \ crt0.c:255)(0x00000000、0x00000000、0x00000000、0x00000000)
    [5732] 04 May 10:24:14.176#---信息输出* 

在搜索时发现此线程- https://github.com/MSOpenTech/redis/issues/542   如果有人发现了相同的问题并找到了解决方案,请更新可采取哪些步骤来解决该问题.


感谢&问候,

阿比

解决方案

WhatsOnIndia,

谢谢您在这里发布.

如果您需要帮助或提供任何反馈,主要渠道是Redis邮件列表:

有关错误报告,请仅使用  .

可以找到对Redis感兴趣的人的其他地方:

最好的问候,

温迪


Hi,

We are using Redis 3.2.100 on Windows Server 2012 R2 (downloaded from https://github.com/MSOpenTech/redis/releases).

Sometimes we were getting a Windows message popup saying - "Redis server has stooped working". For such instances, found the following error in redis log file.

*Redis can not continue. Exiting.
    [5496] 15 Apr 06:25:58.340 # fork operation failed
    [5496] 15 Apr 06:25:58.464 # Background saving terminated by signal 1
    [5496] 15 Apr 06:26:04.094 * 1 changes in 300 seconds. Saving...
    [5496] 15 Apr 06:26:04.216 * Background saving started by pid 9736
    [9736] 15 Apr 00:56:04.275 #
    The Windows version of Redis reserves heap memory from the system paging file
    for sharing with the forked process used for persistence operations.At this time there is insufficient contiguous free space available in the
    system paging file. You may increase the size of the system paging file.
    Sometimes a reboot will defragment the system paging file sufficiently for
    this operation to complete successfully.*

To resolve, required virtual memory (page file) setting was made and it helped.

But, for other a few other Redis server instances running on separate nodes, where we were getting same windows message as "Redis server has stooped working", this resolution didn't work and for those instances we found the error mentioned below - 

*=== REDIS BUG REPORT START: Cut & paste starting from here ===
    Redis version: 3.2.100
    [5732] 04 May 10:24:14.169 # --- EXCEPTION_ACCESS_VIOLATION
    [5732] 04 May 10:24:14.169 # --- STACK TRACE
    redis-server.exe!LogStackTrace(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:95)(0x0013E300, 0x0013FF90, 0x00000001, 0x4013A7F8)
    redis-server.exe!UnhandledExceptiontHandler(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x00000000, 0x00000000, 0x00000000, 0x597218B5)
    KERNELBASE.dll!UnhandledExceptionFilter(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x00000000, 0x66911DA0, 0x00000000, 0x0013FF20)
    ntdll.dll!memset(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x0013EF30, 0x0013E3D0, 0x40140E48, 0x00000000)
    ntdll.dll!_C_specific_handler(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x00000000, 0x0013E470, 0x0013EF30, 0x0013EF30)
    ntdll.dll!_chkstk(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x00000001, 0x695C0000, 0x00000000, 0x696F409C)
    ntdll.dll!RtlRaiseException(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x00000000, 0x0013EEE0, 0x0013F220, 0x695EED7F)
    ntdll.dll!KiUserExceptionDispatcher(c:\release\redis\src\win32_interop\win32_stacktrace.cpp:185)(0x40094F01, 0x3E07C55F, 0x400ACC91, 0x0013F200)
    redis-server.exe!dictSdsHash(c:\release\redis\src\server.c:496)(0x3E07C55F, 0x400ACC91, 0x0013F200, 0xE3EA40D0)
    redis-server.exe!dictFind(c:\release\redis\src\dict.c:517)(0x0013F220, 0x00000001, 0x00229C48, 0x00000001)
    redis-server.exe!getExpire(c:\release\redis\src\db.c:871)(0x6DB460A0, 0x0013F2E0, 0x0013F2E0, 0x03C07040)
    redis-server.exe!rdbSaveRio(c:\release\redis\src\rdb.c:814)(0x40167210, 0x01BD0000, 0x00000005, 0x01FD2754)
    redis-server.exe!rdbSave(c:\release\redis\src\rdb.c:884)(0x01BD0000, 0x01BD0000, 0x590DF900, 0x00000005)
    redis-server.exe!QForkChildInit(c:\release\redis\src\win32_interop\win32_qfork.cpp:337)(0x00000005, 0x00000000, 0x002C6B10, 0x00000005)
    redis-server.exe!QForkStartup(c:\release\redis\src\win32_interop\win32_qfork.cpp:515)(0x00000006, 0x00000000, 0xFFFF7000, 0x002C7A40)
    redis-server.exe!main(c:\release\redis\src\win32_interop\win32_qfork.cpp:1240)(0x00000000, 0x00000000, 0x00000000, 0xFFFF7000)
    redis-server.exe!__tmainCRTStartup(f:\dd\vctools\crt\crtw32\startup\crt0.c:255)(0x00000000, 0x400459C0, 0x00000000, 0x00000000)
    KERNEL32.DLL!BaseThreadInitThunk(f:\dd\vctools\crt\crtw32\startup\crt0.c:255)(0x693613B0, 0x00000000, 0x00000000, 0x00000000)
    ntdll.dll!RtlUserThreadStart(f:\dd\vctools\crt\crtw32\startup\crt0.c:255)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
    ntdll.dll!RtlUserThreadStart(f:\dd\vctools\crt\crtw32\startup\crt0.c:255)(0x00000000, 0x00000000, 0x00000000, 0x00000000)
    [5732] 04 May 10:24:14.176 # --- INFO OUTPUT*

On searching, found this thread - https://github.com/MSOpenTech/redis/issues/542 which, listed the same exception being faced by a few others but, till date there hasn’t been any resolution mentioned for the same.

If anyone has observed the same issue and found any resolution on this, please do update as to what steps can be adopted to resolve the same.


Thanks & regards,

Abhi

解决方案

Hi WhatsOnIndia,

Thank you for posting here.

If you want to get help or provide any feedback, the main channel is the Redis mailing list:

For bug reports please just use Github.

Other places where you can find people interested in Redis:

Best Regards,

Wendy


这篇关于Redis意外停止工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆