Skip to content
Commits on Aug 24, 2012
  1. Better Out of Memory handling.

    committed Aug 24, 2012
    The previous implementation of zmalloc.c was not able to handle out of
    memory in an application-specific way. It just logged an error on
    standard error, and aborted.
    The result was that in the case of an actual out of memory in Redis
    where malloc returned NULL (In Linux this actually happens under
    specific overcommit policy settings and/or with no or little swap
    configured) the error was not properly logged in the Redis log.
    This commit fixes this problem, fixing issue #509.
    Now the out of memory is properly reported in the Redis log and a stack
    trace is generated.
    The approach used is to provide a configurable out of memory handler
    to zmalloc (otherwise the default one logging the event on the
    standard output is used).
Commits on Mar 27, 2012
  1. Produce the watchlog warning log in a way that is safer from a signal…

    committed Mar 27, 2012
    … handler. Fix a memory leak in the backtrace generation function.
Commits on Feb 26, 2012
  1. @anydot
Commits on Feb 7, 2012
  1. Precision of getClientOutputBufferMemoryUsage() greatily improved, se…

    committed Feb 7, 2012
    …e issue #327 for more information.
Commits on Nov 16, 2011
  1. @lamby

    Fix crash on SPARC due to improper alignment of allocated memory

    lamby committed Nov 16, 2011
    I believe that you should be able to drop 'defined(__sun)' completely
    from this clause, as Solaris on x86 hardware probably does not have
    strict alignment requirements, but I don't have a way to test that.
    Thanks to Jurij Smakov <>.
    Signed-off-by: Chris Lamb <>
Commits on Jul 2, 2011
Commits on Jun 20, 2011
Commits on Jan 20, 2011
  1. Fixed compilation on FreeBSD

    committed Jan 20, 2011
Commits on Jan 9, 2011
  1. allocation stats in INFO

    committed Jan 9, 2011
Commits on Nov 2, 2010
Commits on Oct 23, 2010
  1. @pietern

    Don't use prefix when malloc_size() can be called

    pietern committed Oct 23, 2010
    Also, use tcmalloc functions explicitly via macros to prevent symbol
    lookups to resolve to native malloc/free on OSX.
Commits on Sep 2, 2010
  1. memory fragmentation ratio in INFO output

    antirez committed Sep 2, 2010
Commits on Jul 24, 2010
  1. @d0k

    Add zcalloc and use it where appropriate

    d0k committed Jul 24, 2010
    calloc is more effecient than malloc+memset when the system uses mmap to
    allocate memory. mmap always returns zeroed memory so the memset can be
    avoided.  The threshold to use mmap is 16k in osx libc and 128k in bsd
    libc and glibc. The kernel can lazily allocate the pages, this reduces
    memory usage when we have a page table or hash table that is mostly
    This change is most visible when you start a new redis instance with vm
    enabled.  You'll see no increased memory usage no matter how big your
    page table is.
Commits on Jul 1, 2010
  1. redis.c split into many different C files.

    committed Jun 22, 2010
    networking related stuff moved into networking.c
    moved more code
    more work on layout of source code
    SDS instantaneuos memory saving. By Pieter and Salvatore at VMware ;)
    cleanly compiling again after the first split, now splitting it in more C files
    moving more things around... work in progress
    split replication code
    splitting more
    Sets split
    Hash split
    replication split
    even more splitting
    more splitting
    minor change
Something went wrong with that request. Please try again.