linux tcmalloc,内存管理TCMalloc 安装和使用
TCMalloc(Thread-Caching Malloc)與標準glibc庫的malloc實現一樣的功能,但是TCMalloc在效率和速度效率都比標準malloc高很多。TCMalloc是google-perftools工具中的一個(gperftools四個工具分別是:TCMalloc、heap-checker、heap-profiler和cpu-profiler),這個工具是開源的,以源碼形式發布。如果覺得自己維護一個內存分配器麻煩的話,可以考慮將TCMalloc靜態庫連接到你的程序中。使用的時候和glibc中的malloc調用方式一模一樣。你需要做的只是把TCMalloc的動態庫或者靜態庫連接進你的程序中,你就可以獲得一個高效,快速,安全的內存分配器。
與標準的glibc庫的malloc相比,TCMalloc在內存的分配效率和速度要高,可以在高并發的情況下很好的控制內存的使用,提高服務器的性能,降低負載
1. libunwind安裝
4位操作系統請先安裝 libunwind庫,32位操作系統不要安裝。libunwind庫為基于64位CPU和操作系統的程序提供了基本的堆棧輾轉開解功能,其中包括用于輸出堆棧跟蹤的API、用于以編程方式輾轉開解堆棧的API以及支持C++異常處理機制的API。 #tar zxvf libunwind-1.1.tar.gz
#cd libunwind-1.1
#./autogen.sh
#./configure
#make
#make install
./autogen.sh:行7: autoreconf: 未找到命令
autoreconf: automake failed with exit status: 1
這時還要安裝一下yum install autoconf automake gnome-common
2. 安裝google-perftools
#tar -zvxf gperftools-2.6.1.tar.gz
# cd gperftools-gperftools-2.6.1
#./autogen.sh
#./configure
#make
#make install
./libtool: line 1125: g++: command not found
make: *** [src/libtcmalloc_minimal_la-tcmalloc.lo] 錯誤 1
yum install gcc-c++
3. TCMalloc庫加載到Linux系統中
#echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf
#ldconfig
編譯nginx
#./configure --prefix=/usr/local/nginx --user=www --group=www?? --with-poll_module --with-select_module --with-pcre=/usr/local/src/nginx-1.10.3/pcre-8.41??? --with-google_perftools_module
#make && make install
為添加線程目錄:
mkdir /tmp/tcmalloc
chown -R www.www /tmp/tcmalloc
vi /usr/local/nginx/conf/nginx.conf #PID the next line add
google_perftools_profiles /tmp/tcmalloc;
驗證tcmalloc是否在Nginx中生效
總結
以上是生活随笔為你收集整理的linux tcmalloc,内存管理TCMalloc 安装和使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 坦克大战c语言程序贴吧,坦克大战!
- 下一篇: android finish()传参数,