1)服务器配置:

cpu:{Intel(R) Xeon(R)

CPU X5650 @ 2.67GHz*16

mem:32

2)mysql innodb:

innodb_buffer_pool_size = 22G

2.#free -g

[root@mysql11 ~]# free -g

total used free shared buffers cached

Mem: 31 31 0 0 0 5

-/+

buffers/cache: 25 5

Swap: 3 2 1

3、[root@mysql11 ~]# vmstat -a -S M 4

procs -----------memory---------- ---swap-- -----io---- --system--

-----cpu------

r b swpd free inact active si so bi bo in cs us sy id wa st

1 0 2320 93 2411 29248 0 0 12 77 0 1 3 2 95 0 0

1 0 2320 92 2412 29248 0 0 44 2522 22313 40230 7 4 90 0 0

4 0 2320 92 2413 29248 0 0 320 2528

25147 47254 9 5

86 0 0

4、用top看

USER NI RES SHR VIRT PID S

%MEM TIME+ PR %CPU

SWAP CODE DATA COMMAND

mysql 0 25g 5852 28.4g 14463 S 80.1 48948:37 15 286.2 3.2g 8352 28g

mysqld

5、总结:

从top命令可看出:

1)mysql进程 ,总共需要的内存为28G(DATA 40g),

2)mysql进程,被 置换的虚拟内存大小为3.2g(SWAP 3.2g)

3)mysql进程,程序码占用内存大小为 8352(kb)

4)mysql进程,非程序码占用内存大小为 26g

综上所述,Linux服务器操作系统本身cache掉的内存大小约为5G左右。

6.业务运行环境:MySQL数据量为98G,会频繁进行大批量的数据导入,数据读取。相当于一个小型的数据仓库。

MySQL如何避免使用swap

Linux有很多很好的内存、IO调度机制,但是并不会适用于所有场景。对于DBA来说Linux比较让人头疼的一个地方是,它不会因为MySQL很重要就避免将分配给MySQL的地址空间映射到swap上。对于频繁进行读写操作的系统而言,数据看似在内存而实际上在磁盘是非常糟糕的,响应时间的增长很可能直接拖垮整个系统。这篇blog主要讲讲我们作为DBA,怎样尽量避免MySQL惨遭swap的毒手。

首先我们要了解点基础的东西,比如说为什么会产生swap。假设我们的物理内存是16G,swap是4G。如果MySQL本身已经占用了12G物理内存,

而同时其他程序或者系统模块又需要6G内存,这时候操作系统就可能把MySQL所拥有的一部分地址空间映射到swap上去。

cp一个大文件,或用mysqldump导出一个很大的数据库的时候,文件系统往往会向Linux申请大量的内存作为cache,一不小心就会导致L使用swap。这个情景比较常见,以下是最简单的三个调整方法:

1、/proc/sys/vm/swappiness的内容改成0(临时),/etc/sysctl.conf上添加vm.swappiness=0(永久)

这个参数决定了Linux是倾向于使用swap,还是倾向于释放文件系统cache。在内存紧张的情况下,数值越低越倾向于释放文件系统cache。

当然,这个参数只能减少使用swap的概率,并不能避免Linux使用swap。

2、修改MySQL的配置参数innodb_flush_method,开启O_DIRECT模式。

这种情况下,InnoDB的buffer pool会直接绕过文件系统cache来访问磁盘,但是redo

log依旧会使用文件系统cache。值得注意的是,Redo

log是覆写模式的,即使使用了文件系统的cache,也不会占用太多。

3、添加MySQL的配置参数memlock

这个参数会强迫mysqld进程的地址空间一直被锁定在物理内存上,对于os来说是非常霸道的一个要求。必须要用root帐号来启动MySQL才能生效。

还有一个比较复杂的方法,指定MySQL使用大页内存(Large

Page)。Linux上的大页内存是不会被换出物理内存的,和memlock有异曲同工之妙。具体的配置方法可以参

考:http://harrison-fisk.blogspot.com/2009/01/enabling-innodb-large-pages-

on-linux.html

mysql获取服务器的剩余空间_mysql服务器内存耗尽,并占用大量swap相关推荐

  1. mysql服务器停止工作原理_MySQL服务器突然停止工作! - CentOS

    今天,当我尝试执行一些 DELETE sql脚本时,MySQL Server停止工作 . 我重启服务器很多次了,但它有帮助.2826348_ t . service mysqld start 报告: ...

  2. 网站购买空间还是服务器,网站用空间还是服务器

    网站用空间还是服务器 内容精选 换一换 香港节点和大陆节点的区别如下:香港节点购买域名后无需备案,可以直接在后台绑定域名并使用.大陆节点购买域名后需要先完成备案,才可以在后台绑定域名.香港节点支持绑定 ...

  3. 杀戮空间2服务器协议,杀戮空间2服务器设置

    杀戮空间2服务器设置 内容精选 换一换 使用主机迁移服务前,请参考以下步骤准备好账号.权限及源端.目的端服务器环境.已在华为云注册账号,并完成实名认证.已获取账号迁移权限.已获取目的端账号的AK/SK ...

  4. 网站空间跟服务器区别,网站空间和服务器的区别有哪些?

    对于很多新手站长来说,可能并不清楚网站空间和服务器的区别.很多朋友经常会说买台主机来建站,真正问他是买网站空间还是买服务器,可能一时又说不上来,对这两者的概念很是模糊. 很多人以为网站空间就是服务器, ...

  5. mysql删除表并释放空间_Mysql删除数据后,如何释放磁盘空间

    ####此时可以使用optimize整理表的碎片: #####注意:该操作执行的时候会把该表格先写入一个tmp临时表,所以磁盘剩余空间必须大于表空间,否则会执行失败. ``` alter table ...

  6. windows7现实计算机内存不足,win7 64位有剩余空间却提示内存不足的解决方法

    win7 64位旗舰版系统有剩余空间安装软件却提示内存不足怎么办?很多安装了64位win7系统的用户发现,自己电脑内存,明明还有剩余,可是为什么在安装软件或者是程序时还会弹出内存不足提示,其实这种情况 ...

  7. mysql正在运行安全文件怎么办_MySQL服务器运行的安全文件化选项,所以它不能执行该语句什么情? 爱问知识人...

    MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID事务.行级锁.并发 3.Berkeley DB: ...

  8. 服务器同时在线人数承载,服务器承载:空间或服务器支持在线人数为多少

    以普通单线路服务器为例,CPU处理多个进程,并非是在同一刻进行的(可以精确到1/1000秒),而是串行处理的.CPU通常把1秒的时间分割成N份,然后按照顺序,分别用1秒钟的第1份处理第1个进程,用第2 ...

  9. 服务器可视化显示空间,云服务器可视化面板

    云服务器可视化面板 内容精选 换一换 示例:购买并登录Windows弹性云服务器示例:购买并登录Linux弹性云服务器云平台提供了多种实例类型供您选择,不同类型的实例可以提供不同的计算能力和存储能力. ...

最新文章

  1. java系统架构图设计,先收藏了
  2. sql PERCENTILE_CONT 计算一组数的线性差值
  3. vim 的 grep 插件`Leaderf rg`:grep 和模糊匹配的完美结合
  4. [云炬创业基础笔记]第一章创业环境测试7
  5. dgi数据治理_国外数据治理模型比较
  6. docker实践第二版pdf 网盘_【漫画】什么是 docker?docker 应用场景解析
  7. flink源码分析_Flink源码分析之深度解读流式数据写入hive
  8. QQ MSN 网页互动代码
  9. linux-ab压力测试
  10. 微信公众号注册认证流程
  11. Unity创建注册表并写入
  12. Nicolas Bourbaki 是何许人也,下一个中本聪?
  13. C# Excel 条件格式
  14. 【计算机视觉】图像拼接技术
  15. Hard Voting 与 Soft Voting 的对比
  16. Chrome谷歌浏览器的安装
  17. 穹顶之下,企业建站怎么做?网站建设怎么做?建网站有几大步骤?
  18. 爬虫采集自己构建代理ip池有什么优势?
  19. html元素垂直、水平对齐的多种方式
  20. 用了HBuilderX近一年,最后还是选择了VSCode

热门文章

  1. 模拟计算机病毒效果 js,用户登录模拟效果(原生js实现)
  2. Dosbox汇编环境下debug常用调试命令(二)
  3. 攻防世界(pwn)--Mary_Morton 利用格式化字符串+栈溢出破解Canary的保护机制
  4. python:array和list转换以及数组切片
  5. Python排序函数用法
  6. Python-functools (reduce,偏函数partial,lru_cache)
  7. python连接oracle导出数据文件
  8. Python面向对象:反射(hasattr和getattr和setattr和delattr)
  9. linux 内存清理 释放命令,Linux系统中的内存清理和释放命令总结
  10. 什么是故事板?(故事图、Storyboard)(软件显示效果的视觉草图,用于视频创作和广告设计,表达作者的创意)