我在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版本?。
答案 0 :(得分:1)
对于那些在2016年后期讨论此问题的人,请打开Process Hacker(流程资源管理器)并查看/添加列Working Set
。
此处显示的内存使用情况与Redis实际使用的内容有关。