iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL中的swap怎么配置
  • 564
分享到

MySQL中的swap怎么配置

2024-04-02 19:04:59 564人浏览 八月长安
摘要

这篇文章主要讲解了“Mysql中的swap怎么配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql中的swap怎么配置”吧!SwappinessSw

这篇文章主要讲解了“Mysql中的swap怎么配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql中的swap怎么配置”吧!

Swappiness

Swappiness is a parameter that controls the relative weight given to swapping out runtime memory, as opposed to dropping pages from the system. Swappiness can be set to values between 0 and 100 inclusive. A low value causes the kernel to avoid swapping, a higher value causes the kernel to try to use swap space. The default value is60, and for most desktop systems, setting it to 100 may affect the overall perfORMance, whereas setting it lower (even 0) may decrease response latency。

 

大概意思是说:Swappiness linuxswappiness0~10060swapswappiness1000

 MySQL中的swap怎么配置

With kernel version 3.5 and over, as well as kernel version 2.6.32-303 and over, it is likely better to use 1 for cases where 0 used to be optimal

在内核版本3.5以及以上和 RHEL/CentOS kernels内核版本2.6.32-303.el6以及以上,建议使用1来代替之前内核版本下的swappiness=0的效果。

 

此修改在很多资料都特别提示了,如RHEL官方:

MySQL中的swap怎么配置

 

MysqlInnoDBLinuxCPUIO InnoDBcacheInnoDB 

MySQLvm.swappiness=0

OSvm.swappiness = 0swapswapswap

3.5 RHEL/CentOS kernels2.6.32-303vm.swappiness = 0swapnr_free + nr_filebacked < high watermarkswapswapLinuxOOMkillMySQL

wiki 

解决办法

1、尽量保证Linux操作系统还有足够的内存

2、针对MySQL的服务器OS:

         之vm.swappiness=0

   3.5以及以上和 RHEL/Centos kernels内核版本2.6.32-303.el6以及以上),建议设置vm.swappiness=1

3、考虑设置 /proc/(pidof -s mysqld)/oom_adj为较小的值来尽量避免MySQL由于内存不足而被关闭。

      值的范围为-16~15,“-17”是一个特殊的值。如果设置为-17,就会禁止OOM Killer发出的信号(从Linux 2.6.12开始支持设置-17)。

      例如:echo  -15 > /proc/(pidof -s mysqld)/oom_score_adj

修改swappiness的方法 

#临时修改

# Set the swappiness value as root

echo 10 > /proc/sys/vm/swappiness

 

# Alternatively, run this

sysctl -w vm.swappiness=10

 

# Verify the change

cat /proc/sys/vm/swappiness

10

 

# Alternatively, verify the change

sysctl vm.swappiness

vm.swappiness = 10

#永久生效需要修改配置文件sysctl.conf

/etc/sysctl.conf

vm.swappiness = 10

修改mysql的oom_adj值

# cat /proc/(pidof -s mysqld)/oom_score_adj

0

# echo -15 > /proc/(pidof -s mysqld)/oom_score_adj

#当然,如果需要的话可以完全关闭 OOM killer(不推荐用在生产环境):

# sysctl -w vm.overcommit_memory=2

# echo "vm.overcommit_memory=2" >> /etc/sysctl.conf

https://en.wikipedia.org/wiki/Swappiness#cite_note-2

Https://www.percona.com/blog/2014/04/28/oom-relation-vm-swappiness0-new-kernel/

http://blog.csdn.net/longxibendi/article/details/38146521

http://www.vpsee.com/2013/10/how-to-configure-the-linux-oom-killer/

感谢各位的阅读,以上就是“MySQL中的swap怎么配置”的内容了,经过本文的学习后,相信大家对MySQL中的swap怎么配置这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中的swap怎么配置

本文链接: https://www.lsjlt.com/news/58728.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle怎么查询当前用户所有的表
    要查询当前用户拥有的所有表,可以使用以下 sql 命令:select * from user_tables; 如何查询当前用户拥有的所有表 要查询当前用户拥有的所有表,可以使...
    99+
    2024-05-15
    oracle
  • oracle怎么备份表中数据
    oracle 表数据备份的方法包括:导出数据 (exp):将表数据导出到外部文件。导入数据 (imp):将导出文件中的数据导入表中。用户管理的备份 (umr):允许用户控制备份和恢复过程...
    99+
    2024-05-15
    oracle
  • oracle怎么做到数据实时备份
    oracle 实时备份通过持续保持数据库和事务日志的副本来实现数据保护,提供快速恢复。实现机制主要包括归档重做日志和 asm 卷管理系统。它最小化数据丢失、加快恢复时间、消除手动备份任务...
    99+
    2024-05-15
    oracle 数据丢失
  • oracle怎么查询所有的表空间
    要查询 oracle 中的所有表空间,可以使用 sql 语句 "select tablespace_name from dba_tablespaces",其中 dba_tabl...
    99+
    2024-05-15
    oracle
  • oracle怎么创建新用户并赋予权限设置
    答案:要创建 oracle 新用户,请执行以下步骤:以具有 create user 权限的用户身份登录;在 sql*plus 窗口中输入 create user identified ...
    99+
    2024-05-15
    oracle
  • oracle怎么建立新用户
    在 oracle 数据库中创建用户的方法:使用 sql*plus 连接数据库;使用 create user 语法创建新用户;根据用户需要授予权限;注销并重新登录以使更改生效。 如何在 ...
    99+
    2024-05-15
    oracle
  • oracle怎么创建新用户并赋予权限密码
    本教程详细介绍了如何使用 oracle 创建一个新用户并授予其权限:创建新用户并设置密码。授予对特定表的读写权限。授予创建序列的权限。根据需要授予其他权限。 如何使用 Oracle 创...
    99+
    2024-05-15
    oracle
  • oracle怎么查询时间段内的数据记录表
    在 oracle 数据库中查询指定时间段内的数据记录表,可以使用 between 操作符,用于比较日期或时间的范围。语法:select * from table_name wh...
    99+
    2024-05-15
    oracle
  • oracle怎么查看表的分区
    问题:如何查看 oracle 表的分区?步骤:查询数据字典视图 all_tab_partitions,指定表名。结果显示分区名称、上边界值和下边界值。 如何查看 Oracle 表的分区...
    99+
    2024-05-15
    oracle
  • oracle怎么导入dump文件
    要导入 dump 文件,请先停止 oracle 服务,然后使用 impdp 命令。步骤包括:停止 oracle 数据库服务。导航到 oracle 数据泵工具目录。使用 impdp 命令导...
    99+
    2024-05-15
    oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作