1. check mariadb memory allocation
SELECT @@hostname, @@version_comment,@@version;
SELECT @@hostname AS hostname,@@version AS mariadb_version, @@version_malloc_library AS memory_allocator;
2. Install epel release
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm -y
3. Install jemalloc
# redhat
yum install jemalloc -y
# ubuntu
apt install -y libjemalloc2
4. check library jemaloc
# redhat
rpm -qa | grep -i jemalloc
rpm -ql jemalloc | grep libjemalloc.so
# ubuntu
ldconfig -p | grep jemalloc
[root@teguhth10x ~]# rpm -qa | grep -i jemalloc
jemalloc-5.3.0-10.el10_1.x86_64
[root@teguhth10x ~]#
[root@teguhth10x ~]# rpm -ql jemalloc | grep libjemalloc.so
/usr/lib64/libjemalloc.so.2
[root@teguhth10x ~]#
[root@teguhth10x ~]#ldconfig -p | grep jemalloc
libjemalloc.so.2 (libc6,x86-64) => /lib/x86_64-linux-gnu/libjemalloc.so.2
[root@teguhth10x ~]#
5. additional mariadb service
# for almalinunx
echo "Environment="LD_PRELOAD=/usr/lib64/libjemalloc.so.2"" >> /usr/lib/systemd/system/mariadb.service
# for ubuntu
echo "Environment="LD_PRELOAD=/lib/x86_64-linux-gnu/libjemalloc.so.2"" >> /usr/lib/systemd/system/mariadb.service
grep -i env /usr/lib/systemd/system/mariadb.service
[root@teguhth10x ~]# grep -i env /usr/lib/systemd/system/mariadb.service
# MYSQLD_OPTS as a user environment variable is deprecated.
# Environment="TZ=UTC"
# Environment="LD_LIBRARY_PATH=/path1 /path2" "LD_PRELOAD="
Environment=LD_PRELOAD=/usr/lib64/libjemalloc.so.2
[root@teguhth10x ~]#
6. restart daemon n mariadb
systemctl daemon-reload
systemctl restart mariadb
7. check after apply jemalog
SELECT @@hostname, @@version_comment,@@version;
SELECT @@hostname AS hostname,@@version AS mariadb_version, @@version_malloc_library AS memory_allocator;
SELECT @@hostname, @@version_comment,@@version;
SELECT @@hostname AS hostname,@@version AS mariadb_version, @@version_malloc_library AS memory_allocator;
2. Install epel release
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm -y
3. Install jemalloc
# redhat
yum install jemalloc -y
# ubuntu
apt install -y libjemalloc2
4. check library jemaloc
# redhat
rpm -qa | grep -i jemalloc
rpm -ql jemalloc | grep libjemalloc.so
# ubuntu
ldconfig -p | grep jemalloc
[root@teguhth10x ~]# rpm -qa | grep -i jemalloc
jemalloc-5.3.0-10.el10_1.x86_64
[root@teguhth10x ~]#
[root@teguhth10x ~]# rpm -ql jemalloc | grep libjemalloc.so
/usr/lib64/libjemalloc.so.2
[root@teguhth10x ~]#
[root@teguhth10x ~]#ldconfig -p | grep jemalloc
libjemalloc.so.2 (libc6,x86-64) => /lib/x86_64-linux-gnu/libjemalloc.so.2
[root@teguhth10x ~]#
5. additional mariadb service
# for almalinunx
echo "Environment="LD_PRELOAD=/usr/lib64/libjemalloc.so.2"" >> /usr/lib/systemd/system/mariadb.service
# for ubuntu
echo "Environment="LD_PRELOAD=/lib/x86_64-linux-gnu/libjemalloc.so.2"" >> /usr/lib/systemd/system/mariadb.service
grep -i env /usr/lib/systemd/system/mariadb.service
[root@teguhth10x ~]# grep -i env /usr/lib/systemd/system/mariadb.service
# MYSQLD_OPTS as a user environment variable is deprecated.
# Environment="TZ=UTC"
# Environment="LD_LIBRARY_PATH=/path1 /path2" "LD_PRELOAD="
Environment=LD_PRELOAD=/usr/lib64/libjemalloc.so.2
[root@teguhth10x ~]#
6. restart daemon n mariadb
systemctl daemon-reload
systemctl restart mariadb
7. check after apply jemalog
SELECT @@hostname, @@version_comment,@@version;
SELECT @@hostname AS hostname,@@version AS mariadb_version, @@version_malloc_library AS memory_allocator;





No comments:
Post a Comment