title: Does Redis Windows fork use less RAM because is using memory-mapped files?
body: <p>I found the following forum post in Redis Google Group: <a href="https://groups.google.com/forum/#!topic/redis-db/neJEsXOSDhE" rel="nofollow">Verify Redis on Windows memory consumption</a>, and some Microsoft Open Tech team member states:</p>
  
  <blockquote>
    <p>In order to implement persistence and simulate the fork()
    copy-on-write mechanism, the Windows port of Redis places the Redis
    heap in a memory mapped file that can be shared with child processes.
    Data is definitely stored in memory but because of the memory-mapped
    file working set will be accounted for under "shared working set"
    instead of "private working set". You can inspect the shared working
    set of redis-server.exe using task manager or Windows Performance
    Monitor. You should see values that much closer reflect
    "used_memory_human"</p>
  </blockquote>
  
  <p>Why I'm asking this question? Because I found that <code>redis-server</code> process takes significant less memory than what <code>info</code> command says (for example, <code>info</code> shows that Redis is using 148MB while <em>shared working set</em> in task manager shows 48MB).</p>
  
  <p>Since the MSOpenTech member says that Redis for Windows is using memory-mapped files, <strong>does this means that Redis on Windows uses less RAM than Linux version?</strong>.</p>