Skip to content

Instantly share code, notes, and snippets.

@dspezia
dspezia / gist:967358
Created May 11, 2011 21:06
Patch to fix redis 2.2-jemalloc branch
From 6094d46541b1fd66c65954b611e8b7e7a6cd7665 Mon Sep 17 00:00:00 2001
From: Didier Spezia <[email protected]>
Date: Wed, 11 May 2011 22:53:41 +0200
Subject: [PATCH] Fix makefile for tcmalloc/jemalloc
---
src/Makefile | 27 +++++++++++++--------------
1 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/src/Makefile b/src/Makefile
@dspezia
dspezia / gist:1240427
Created September 25, 2011 09:42
Instrumenting Redis to evaluate the efficiency of COW
/*
This function makes use of /proc to evaluate the ratio between shared and private memory blocks.
It is expressed as a percentage: 90 means 90% of the blocks are shared, and 10% have been duplicated.
Call this function at the very end of the child process.
For Redis, it is supposed to be called at the end of rdbSave (file rdb.c)
Ugly but effective.
Please note it does not work if huge pages are used
*/
@dspezia
dspezia / gist:1240452
Created September 25, 2011 10:21
Compiling Redis against libhugetlbfs to activate huge pages support
Redis can be compiled against libhugetlbfs, so huge pages support can be activated with Linux >= 2.6.16.
It should cover Enterprise Linux distros such as SLES 10 or better, and RHEL/Centos/OEL 5 or better.
Be sure to read http://lwn.net/Articles/374424/ first.
Install libhugetlbfs source code in local directory $DIRHUGE
Source can be downloaded from http://libhugetlbfs.sourceforge.net/
Compile only the 64 bits version using make BUILDTYPE=NATIVEONLY
The library will be generated in $DIRHUGE/obj64 - add it in your LD_LIBRARY_PATH
@dspezia
dspezia / gist:1272254
Created October 8, 2011 12:59
Benchmark huge pages
Host
====
Physical machine
2 * Intel X5670 @ 2.93 GHz, HT activated, 24 threads, cpufreq deactivated
48 GB
OS: SLES10 SP3
Linux ncegcolnx243 2.6.16.60-0.54.5-smp #1 SMP Fri Sep 4 01:28:03 UTC 2009 x86_64 x86_64 x86_64 GNU/Linux