jemalloc is a general purpose malloc(3) implementation that emphasizes
fragmentation avoidance and scalable concurrency support. It is the best allocators for a broad range of demanding applications, and
eliminating/mitigating weaknesses that have practical repercussions for real
world applications.
Step 1 :
Option 1 : Compile from source (latest version)
*** This option is not recommended for Ubuntu 16.04 LTS Desktop and Kali Linux 2016.2. When using in Ubuntu 16.04 LTS Desktop, Firefox will be crashed when 2 or more instances are opened. Meanwhile, Kali Linux 2016.2 requires redis-server which is using stock version of libjemalloc1 by default. redis-server for Ubuntu 16.04 also requires stock version of libjemalloc1.
git clone https://github.com/jemalloc/jemalloc.git
cd jemalloc
./autogen.sh
make dist
make
sudo make install
The final files "libjemalloc.*" are located at "/usr/local/lib/".
touch /etc/ld.so.preload
echo "/usr/local/lib/libjemalloc.so" | sudo tee --append /etc/ld.so.preload
Option 2 : Install package (usually older version)
This option is recommended for Ubuntu 16.04 LTS and Kali Linux 2016.2.
sudo apt-get install libjemalloc1 libjemalloc-dev
The final files "libjemalloc.*" are located at "/usr/lib/x86_64-linux-gnu/".
touch /etc/ld.so.preload
echo "/usr/lib/x86_64-linux-gnu/libjemalloc.so" | sudo tee --append /etc/ld.so.preload
sudo ln -s /usr/lib/x86_64-linux-gnu/libjemalloc.so.1 /usr/lib/x86_64-linux-gnu/libjemalloc.so
Step 2 :
Reboot your box.
Step 3 :
To confirm it is running properly (for example, firefox is running with it) :
sudo lsof -E | grep libjemalloc | grep firefox
That's all! See you.