mysql 内存优化之关闭numa

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

关闭numa,内存优化,至于什么是numa,大家自己上网上查一下,文章很多。

最近在测试mariadb,要想选型,千万不要听别人说那个好那个不好,要自己实践,说白了就是多做实验,多敲命令,自己去感受,适合自己的才是最好的。

至于选什么,就看你能hold住那种数据库了。


1
2
3
4
5
6
7
8
9
10
11
mysql 5.6.x
[root@mysql92 ~] # yum install numactl -y 
[root@mysql92 ~] # numactl --interleave=all mysqld_safe --defaults-file=/etc/my.cnf &
[1] 7592
[root@mysql92 ~]
[root@mysql92 ~] # 170103 19:04:34 mysqld_safe Logging to '/data/mysqllogs/error.log'.
170103 19:04:34 mysqld_safe Starting mysqld daemon with databases from  /data/mysqldata
mariadb 10.1.x
[root@mysql91 ~] # mysqld_safe --defaults-file=/etc/my.cnf --numa-interleave & 
[1] 4066
[root@mysql91 ~] # 170103 19:06:52 mysqld_safe Logging to '/log/mysql/error.log'.



mysql & mariadb mysqld_safe的区别


最近一直在和贺春旸老师学习mariadb,自己也在不断地测试,发现mariadb 的服务层做的确实要比

mysql 要好很多。看参数自己找区别吧。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Mariadb 
[root@mysql91 ~] # mysqld_safe --help
Usage:  /usr/bin/mysqld_safe  [OPTIONS]
   --no-defaults              Don't  read  the system defaults  file
   --core- file -size=LIMIT     Limit core files to the specified size
   --defaults- file =FILE       Use the specified defaults  file
   --defaults-extra- file =FILE Also use defaults from the specified  file
   --ledir=DIRECTORY          Look  for  mysqld  in  the specified directory
   -- open -files-limit=LIMIT   Limit the number of  open  files
   --crash-script=FILE        Script to call when mysqld crashes
   --timezone=TZ              Set the system timezone
   --malloc-lib=LIB           Preload shared library LIB  if  available
   --mysqld=FILE              Use the specified  file  as mysqld
   --mysqld-version=VERSION   Use  "mysqld-VERSION"  as mysqld
   --dry-run                  Simulate the start to detect errors but don't start
   -- nice =NICE                Set the scheduling priority of mysqld
   --no-auto-restart          Exit after starting mysqld
   --nowatch                  Exit after starting mysqld
   --plugin- dir =DIR           Plugins are under DIR or DIR /VERSION if
                              VERSION is given
   --skip- kill -mysqld         Don't try to  kill  stray mysqld processes
   --syslog                   Log messages to syslog with  'logger'
   --skip-syslog              Log messages to error log (default)
   --syslog-tag=TAG           Pass -t  "mysqld-TAG"  to  'logger'
   --flush-caches             Flush and purge buffers /caches  before
                              starting the server
   --numa-interleave          Run mysqld with its memory interleaved
                              on all NUMA nodes
All other options are passed to the mysqld program.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
MySQL 
[root@mysql92 ~] # mysqld_safe --help
Usage:  /usr/bin/mysqld_safe  [OPTIONS]
   --no-defaults              Don't  read  the system defaults  file
   --defaults- file =FILE       Use the specified defaults  file
   --defaults-extra- file =FILE Also use defaults from the specified  file
   --ledir=DIRECTORY          Look  for  mysqld  in  the specified directory
   -- open -files-limit=LIMIT   Limit the number of  open  files
   --core- file -size=LIMIT     Limit core files to the specified size
   --timezone=TZ              Set the system timezone
   --malloc-lib=LIB           Preload shared library LIB  if  available
   --mysqld=FILE              Use the specified  file  as mysqld
   --mysqld-version=VERSION   Use  "mysqld-VERSION"  as mysqld
   -- nice =NICE                Set the scheduling priority of mysqld
   --plugin- dir =DIR           Plugins are under DIR or DIR /VERSION if
                              VERSION is given
   --skip- kill -mysqld         Don't try to  kill  stray mysqld processes
   --syslog                   Log messages to syslog with  'logger'
   --skip-syslog              Log messages to error log (default)
   --syslog-tag=TAG           Pass -t  "mysqld-TAG"  to  'logger'
All other options are passed to the mysqld program.










本文转自 roidba 51CTO博客,原文链接:http://blog.51cto.com/roidba/1888532,如需转载请自行联系原作者
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
缓存 监控 关系型数据库
如何查看MySQL使用的内存
如何查看MySQL使用的内存
118 1
|
1月前
|
存储 缓存 监控
深入了解MySQL内存管理:如何查看MySQL使用的内存
深入了解MySQL内存管理:如何查看MySQL使用的内存
330 1
|
1月前
|
SQL 监控 关系型数据库
如何查看MySQL使用的内存
综合运用上述方法,您可以全方位地监控和管理MySQL的内存使用。从简单查看配置到深入分析实时内存占用,每种方法都有其适用场景和优势。定期检查和调整MySQL的内存配置,对于维持数据库性能和稳定性至关重要。
290 0
|
3月前
|
关系型数据库 MySQL
MySQl优化:使用 jemalloc 分配内存
MySQl优化:使用 jemalloc 分配内存
|
3月前
|
SQL 存储 关系型数据库
实时计算 Flink版产品使用问题之同步MySQL多张表的过程中,内存释放依赖于什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
SQL 缓存 关系型数据库
(十二)MySQL之内存篇:深入探寻数据库内存与Buffer Pool的奥妙!
MySQL是基于磁盘工作的,这句几乎刻在了每个后端程序员DNA里,但它真的对吗?其实答案并不能盖棺定论,你可以说MySQL是基于磁盘实现的,这点我十分认同,但要说MySQL是基于磁盘工作,这点我则抱否定的态度,至于为什么呢?这跟咱们本章的主角:Buffer Pool有关,Buffer Pool是什么?还记得咱们在《MySQL架构篇》中聊到的缓存和缓冲区么,其中所提到的写入缓冲区就位于Buffer Pool中。
362 1
|
5月前
|
缓存 关系型数据库 MySQL
MySQL数据库——InnoDB引擎-架构-内存结构(Buffer Pool、Change Buffer、Adaptive Hash Index、Log Buffer)
MySQL数据库——InnoDB引擎-架构-内存结构(Buffer Pool、Change Buffer、Adaptive Hash Index、Log Buffer)
99 3
|
6月前
|
SQL 关系型数据库 MySQL
走进RDS之MySQL内存分配与管理(上)
MySQL的内存分配、使用、管理的模块较多,本篇文章主要介绍InnoDB层和SQL层内存分配管理器,主要包括ut_allocator、mem_heap_allocator和MEM_ROOT,代码版本主要基于8.0.25。
|
6月前
|
缓存 关系型数据库 MySQL
走进RDS之MySQL内存分配与管理(中)
MySQL内存分配与管理总体上分为上中下三篇介绍,本篇为中篇,主要介绍 InnoDB 的内存构成和使用,代码版本主要基于8.0.25。
|
6月前
|
监控 关系型数据库 MySQL
走进RDS之MySQL内存分配与管理(下)
本篇为下篇,主要对MySQL内存限制特性进行解读,代码基于8.0.28。本文将围绕该项工作的改动、设计实现等方面展开介绍。
下一篇
无影云桌面