본문 바로가기
MySQL Tool

17. TCMalloc 설치하기

by 모모레 2016. 1. 13.

TCMalloc은 따로 제공되지 않고, google performace tool을 설치하면 다른 툴과 같이 설치된다. 

최신버젼은 다음의 url에서 확인이 가능하다. 

https://github.com/gperftools/gperftools/tree/gperftools-2.4


Google Performance Tool의 최신은 2.4 이지만, TCMalloc이 마지막으로 수정된 버젼은 Ver. 1.8 이다. (2016년 1월 기준)

그러므로, 1.8 이상으로만 설치하면 상관없다. 

Google Performance Tool은 yum을 이용하여 2.0 버젼을 설치 할 수 있으므로 yum으로 설치하도록 한다. 


[root@test gperftools-master]# yum install gperftools

Loaded plugins: security

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package gperftools.x86_64 0:2.0-11.el6.3 will be installed

--> Processing Dependency: pprof = 2.0-11.el6.3 for package: gperftools-2.0-11.el6.3.x86_64

--> Processing Dependency: gperftools-devel = 2.0-11.el6.3 for package: gperftools-2.0-11.el6.3.x86_64

--> Running transaction check

---> Package gperftools-devel.x86_64 0:2.0-11.el6.3 will be installed

--> Processing Dependency: gperftools-libs(x86-64) = 2.0-11.el6.3 for package: gperftools-devel-2.0-11.el6.3.x86_64

...

...

...

Dependencies Resolved


====================================================================================================================================================================

 Package                                     Arch                              Version                                     Repository                          Size

====================================================================================================================================================================

Installing:

 gperftools                                  x86_64                            2.0-11.el6.3                                EPEL6                              7.9 k

Installing for dependencies:

 Xaw3d                                       x86_64                            1.5E-15.1.el6                               RHEL6.0                            152 k

 gd                                          x86_64                            2.0.35-11.el6                               RHEL6.4                            142 k

 gperftools-devel                            x86_64                            2.0-11.el6.3                                EPEL6                              290 k

 gperftools-libs                             x86_64                            2.0-11.el6.3                                EPEL6                              246 k

 graphviz                                    x86_64                            2.26.0-10.el6                               RHEL6.4                            1.0 M

 gv                                          x86_64                            3.7.1-1.el6                                 EPEL6                              211 k

 pprof                                       noarch                            2.0-11.el6.3                                EPEL6                               55 k


Transaction Summary

====================================================================================================================================================================

Install       8 Package(s)


Total download size: 2.1 M

Installed size: 6.3 M

Is this ok [y/N]: y

..
..
..
Installed:
  gperftools.x86_64 0:2.0-11.el6.3                                                                                                                                  

Dependency Installed:
  Xaw3d.x86_64 0:1.5E-15.1.el6           gd.x86_64 0:2.0.35-11.el6        gperftools-devel.x86_64 0:2.0-11.el6.3        gperftools-libs.x86_64 0:2.0-11.el6.3       
  graphviz.x86_64 0:2.26.0-10.el6        gv.x86_64 0:3.7.1-1.el6          pprof.noarch 0:2.0-11.el6.3                  

Complete!

이렇게 설치 한 후, 다음과 같이 확인할 수 있다. 
[root@test gperftools-master]# cd /usr/lib64
[root@test lib64]# ls -al libtc*
lrwxrwxrwx 1 root root     33 Jan 13 14:53 libtcmalloc_and_profiler.so -> libtcmalloc_and_profiler.so.4.1.0
lrwxrwxrwx 1 root root     33 Jan 13 14:53 libtcmalloc_and_profiler.so.4 -> libtcmalloc_and_profiler.so.4.1.0
-rwxr-xr-x 1 root root 318264 Jul 11  2013 libtcmalloc_and_profiler.so.4.1.0
lrwxrwxrwx 1 root root     26 Jan 13 14:53 libtcmalloc_debug.so -> libtcmalloc_debug.so.4.1.0
lrwxrwxrwx 1 root root     26 Jan 13 14:53 libtcmalloc_debug.so.4 -> libtcmalloc_debug.so.4.1.0
-rwxr-xr-x 1 root root 318136 Jul 11  2013 libtcmalloc_debug.so.4.1.0
lrwxrwxrwx 1 root root     34 Jan 13 14:53 libtcmalloc_minimal_debug.so -> libtcmalloc_minimal_debug.so.4.1.0
lrwxrwxrwx 1 root root     34 Jan 13 14:53 libtcmalloc_minimal_debug.so.4 -> libtcmalloc_minimal_debug.so.4.1.0
-rwxr-xr-x 1 root root 181904 Jul 11  2013 libtcmalloc_minimal_debug.so.4.1.0
lrwxrwxrwx 1 root root     28 Jan 13 14:53 libtcmalloc_minimal.so -> libtcmalloc_minimal.so.4.1.0
lrwxrwxrwx 1 root root     28 Jan 13 14:53 libtcmalloc_minimal.so.4 -> libtcmalloc_minimal.so.4.1.0
-rwxr-xr-x 1 root root 162824 Jul 11  2013 libtcmalloc_minimal.so.4.1.0
lrwxrwxrwx 1 root root     20 Jan 13 14:53 libtcmalloc.so -> libtcmalloc.so.4.1.0
lrwxrwxrwx 1 root root     20 Jan 13 14:53 libtcmalloc.so.4 -> libtcmalloc.so.4.1.0
-rwxr-xr-x 1 root root 296880 Jul 11  2013 libtcmalloc.so.4.1.0

TCMalloc을 사용하기 위해서는 
my.cnf에 다음과 같이 기입하고 재시작 하면 된다. 

[mysqld_safe]

malloc-lib=/usr/lib64/libtcmalloc_minimal.so

자세한 내용은 다음의 url에서 확인이 가능하다. 




'MySQL Tool ' 카테고리의 다른 글

19. TCMalloc 작동원리  (0) 2016.01.14
18. JEMalloc 작동 원리  (0) 2016.01.13
16. JEMalloc 소스 컴파일하기  (0) 2016.01.13
15. JEMalloc 과 TCMalloc  (0) 2016.01.13
[Percona Toolkit] pt-table-sync  (0) 2015.06.30