shell一键安装jemalloc

post by rocdk890 / 2017-3-23 14:36 Thursday linux技术
  最近一直在搞mysql5.7,今天把jemalloc整合到mysql里了,写了个很简陋的脚本配合之前shell脚本一键自动安装mysql 5.7一起使用.
  系统:centos 7.x(64位)
  软件版本:mysql 5.7
                      jemalloc-4.5.0

脚本内容:
cat /root/soft_shell/auto_install_jemalloc.sh
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin:~/bin
export PATH

# Check if user is root
if [ $(id -u) != "0" ]; then
    echo "Error: You must be root to run this script, please use root to install"
    exit 1
fi

# Check the network status
NET_NUM=`ping -c 4 www.baidu.com |awk '/packet loss/{print $6}' |sed -e 's/%//'`
if [ -z "$NET_NUM" ] || [ $NET_NUM -ne 0 ];then
        echo "Please check your internet"
        exit 1
fi

if [ -s /usr/local/mysql ];then
	echo -e "\033[40;31m mysql [found]\033[40;37m"
else
	exit 1
fi

if [ -s jemalloc-4.5.0.tar.bz2 ];then
	echo -e "\033[40;31m jemalloc [found]\033[40;37m"
else
	wget http://download.slogra.com/tcmalloc/jemalloc-4.5.0.tar.bz2
fi

yum -y install libaio libaio-devel bzip2 gcc gcc-c++ make

tar jxf jemalloc-4.5.0.tar.bz2
cd jemalloc-4.5.0
./configure
make -j4 && make install

echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf
ldconfig

sed -i 's@executing mysqld_safe@executing mysqld_safe\nexport LD_PRELOAD=/usr/local/lib/libjemalloc.so@' /usr/local/mysql/bin/mysqld_safe

service mysqld restart

cd /root
lsof -n | grep jemalloc

[root@localhost soft_shell]# lsof -n | grep jemalloc
mysqld    23692         mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23693   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23694   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23695   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23696   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23697   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23698   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23699   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23700   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23701   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23702   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23703   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23704   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23705   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23706   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23707   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23708   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23709   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23710   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23711   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23712   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23714   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23715   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23716   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23717   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23718   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23719   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23720   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23721   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23722   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23723   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23724   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23725   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23726   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2
mysqld    23692 23728   mysql  mem       REG              253,1   2600702  203862106 /usr/local/lib/libjemalloc.so.2

如果出现以上内容,说明jemalloc优化mysql成功.
夜空- 本站版权
1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:blog.slogra.com/post-693.html

标签: mysql 安装 优化 shell install jemalloc

评论: