Redis Windows fork使用较少的RAM是因为使用内存映射文件吗?

时间:2015-07-14 16:45:25

标签: linux windows memory redis memory-mapped-files

我在Redis Google Group中找到了以下论坛帖子:Verify Redis on Windows memory consumption,以及一些Microsoft Open Tech团队成员国:

  

为了实现持久化并模拟fork()   写时复制机制,Redis的Windows端口放置Redis   堆栈在内存映射文件中,可以与子进程共享。   数据肯定存储在内存中,但由于内存映射   文件工作集将在"共享工作集"   而不是"私人工作集"。您可以检查共享工作   使用任务管理器或Windows性能的redis-server.exe集   监控。你应该看到更接近反映的价值观   " used_memory_human"

为什么我要问这个问题?因为我发现redis-server进程占用的内存比info命令所说的少得多(例如,info表示Redis使用148MB而共享工作集任务经理显示48MB)。

由于MSOpenTech成员说Redis for Windows正在使用内存映射文件,是否意味着Windows上的Redis使用的内存少于Linux版本?

1 个答案:

答案 0 :(得分:1)

对于那些在2016年后期讨论此问题的人,请打开Process Hacker(流程资源管理器)并查看/添加列Working Set

此处显示的内存使用情况与Redis实际使用的内容有关。