当前位置:必发365电子游戏 > 操作系统 > 那么办法找到了吗,TCMalloc在内存的分配上效率和速度要高得多
那么办法找到了吗,TCMalloc在内存的分配上效率和速度要高得多
2019-12-19

小说小编:张宴 本文版本:v1.1 最终改进:2009.06.02 转发请评释来源:]



前段时间出于前出塞作文网的流量大增,服务器的MySQL好有压力,如何做?对于相信科学的技师,一定会想办法找消除办法。那么办法找到了吗?嗯嗯,明日就把艺术分享给我们。

  TCMalloc(Thread-Caching Malloc)是google开拓的开源工具──“google-perftools”中的成员。与典型的glibc库的malloc相比较,TCMalloc在内部存款和储蓄器的分配上作用和进程要高得多,能够在非常大程度上升高MySQL服务器在高并发情状下的习性,收缩系统负荷。

1、linux环境下:

  TCMalloc的落实原理和测量试验报告请见风流洒脱篇小说:《必发365电子游戏,TCMalloc:线程缓存的Malloc》

/usr/local/lib/memcached -d -m 2048 -u root -c 1024 -p 11211 -P /tmp/memcached1.pid
 /usr/local/lib/memcached -d -m 2048 -u root -c 1024 -p 11211 -P /tmp/memcached2.pid

  为MySQL增加TCMalloc库的设置步骤(Linux意况):

2、windows环境下:

   1、63位操作系统请先安装libunwind库,34位操作系统不要设置。libunwind库为基于陆拾叁人CPU和操作系统的顺序提供了骨干的堆栈辗转开解作用,当中包罗用于出口货仓追踪的API、用于以编程形式辗转开解客栈的API以至扶助C++非常管理体制的API。

在windows下大家得以用命令

wget
tar zxvf libunwind-0.99-alpha.tar.gz
cd libunwind-0.99-alpha/
CFLAGS=-fPIC ./configure
make CFLAGS=-fPIC
make CFLAGS=-fPIC install

memcached -d install memcached -m 128 -n 128 -c 30720 -p 11211 -d start

  2、安装google-perftools:

把memcached注册为服务,让系统运营时自动运行

wget
tar zxvf google-perftools-0.97.tar.gz
cd google-perftools-0.97/
./configure
make && make install

memcached为了减削单个memcached的载重,能够在一台机械上运营七个实例,假设把三个memcached

echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
/sbin/ldconfig

挂号为劳动吗,通过SC命令我们可以创建服务

  3、改正MySQL运行脚本(依照你的MySQL安装地点而定):

确立服务器1:

vi /usr/local/mysql/bin/mysqld_safe

sc create memcached1 binPath= "d:zwampmemcachedmemcached.exe -d runservice  -m 128 -c 512 -p 11211" start= auto DisplayName= "memcached1"

  在# executing mysqld_safe的下生机勃勃行,加上:

确立服务器2:

引用

sc create memcached2 binPath= "d:zwampmemcachedmemcached.exe -d runservice  -m 128 -c 512 -p 11212" start= auto DisplayName= "memcached2"

export LD_PRELOAD=/usr/local/lib/libtcmalloc.so

成立服务器3:

  保存后脱离,然后重启MySQL服务器。

sc create memcached3 binPath= "d:zwampmemcachedmemcached.exe -d runservice  -m 128 -c 512 -p 11213" start= auto DisplayName= "memcached3"

  4、使用lsof命令查看tcmalloc是还是不是起效:

那么办法找到了吗,TCMalloc在内存的分配上效率和速度要高得多。【注意空格】

/usr/sbin/lsof -n | grep tcmalloc

前出塞 www.qianchusai.com

  如若发掘以下音信,表明tcmalloc已经起效:
  mysqld    10847   mysql  mem       REG        8,5  1203756   20484960 /usr/local/lib/libtcmalloc.so.0.0.0  


  注:2008年6月2日,修正了libunwind在x86_63个人操作系统下的编写翻译错误,TCMalloc一点都不大概加载等主题素材。

  涉及纠正内容:
  1、libunwind的编写翻译参数改为:
  CFLAGS=-fPIC ./configure
  make CFLAGS=-fPIC
  make CFLAGS=-fPIC install

  2、增加:
  echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
  /sbin/ldconfig

  3、修改MySQL加载TCMalloc的语句:
  export LD_PRELOAD=/usr/local/lib/libtcmalloc.so

  感激网络死党router。