Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> 讓lnmp支持tcmalloc

讓lnmp支持tcmalloc

日期:2017/2/8 10:14:15      編輯:關於服務器

tcmalloc是什麼東西?TCMalloc (google-perftools) 是用於優化C++寫的多線程應用,比glibc 2.3的malloc快。這個模塊可以用來讓MySQL在高並發下內存占用更加穩定。
用網上的方法加入到lnmp的 mysql和nginx 是不行的。因為nginx是要編譯的時候加進去的,mysql lnmp默認是全部靜態編譯的。
所以要修改lnmp的安裝腳本,由於靜態編譯所以安裝lnmp之前安裝 tcmalloc。
下載
wget http://gperftools.googlecode.com/files/gperftools-2.0.tar.gz
解壓
tar xf gperftools-2.0.tar.gz
cd gperftools-2.0
配置
./configure
編譯安裝
make && make install
一切順利的話
echo “/usr/local/lib” > /etc/ld.so.conf.d/usr_local_lib.conf
/sbin/ldconfig

下載
wget -c http://soft.vpser.net/lnmp/lnmp0.9-full.tar.gz
解壓
tar xf lnmp0.9-full.tar.gz
cd lnmp0.9-full

修改安裝腳本,我這裡用的是 centos 的
vi ./centos.sh

讓mysql支持tcmalloc
大概在306行 尾部增加
–with-mysqld-ldflags=-ltcmalloc
大概在308行 尾部增加
–with-mysqld-ldflags=-ltcmalloc

讓nginx支持tcmalloc
大概在460行尾部增加
–with-google_perftools_module

wq退出保存後,執行./centos.sh 按平時安裝lnmp

lnmp安裝完成後還要修改一些nginx參數
mkdir -p /tmp/tcmalloc/
chown -R www:www /tmp/tcmalloc/
編輯
vi /usr/local/nginx/conf/nginx.conf
worker_rlimit_nofile 51200; 下面一行增加(反正在外面)
google_perftools_profiles /tmp/tcmalloc/;
wq 保存退出

然後重啟lnmp
執行 lsof -n | grep tcmalloc 能看到說明成功了。
nginx 12256 www 9w REG 0,29 0 13011440 /tmp/tcmalloc/.12256
mysqld 13425 mysql mem REG 253,0 10685079 /usr/local/lib/libtcmalloc.so.4.1.0 (path dev=0,29)

Copyright © Windows教程網 All Rights Reserved