我们都知道数据库是IO密集型一类应用,为了提高其性能大量使用内存代替文件(交换分区)的IO操作是保证数据库稳定、高效的基本原则。那么数据库是如何使用内存的,我们如何查看数据库内存的占用,如何通过通过数据库内存配置设置提高其性能?本文虫虫就以Mysql数据库(InnoDB引擎)为例和大家一起了解下Linux数据库和内存相关的主题。
读取内存数据非常快,为了提高性能我们要尽***可能把数据集都放到内存中以保证高效。但是Swap交换分区作为一个救命的稻草,我们还必须要给mysql设置,防止突发情况下内存不够,mysql服务直接被OOM杀掉的情况。同时mysql交换分区占用也是我们衡量一个数据是否健康与否的手段,如果一个数据库频繁的使用了swap则说明,我们需要人工干预优化数据库了。
内存占用
在Linux下,我们可以通过使用一些shell命令来了解MySQL的内存使用情况。
首先使用ps命令来查看mysqld进程的内存使用情况:
- ps -eo size,pid,user,command --sort -size|grep mysqld
- |awk '{hr=$1/1024;printf("%13.2f MB",hr)} {for (x=4;x<=NF;x++){printf("%s",$x)}print ""}'
- |cut -d "" -f2|cut -d "-" -f1
前言 日常开发中,秒杀下单、抢红包等等业务场景,都需要用到分布式锁。而Redis...
2018年10月16日,曙光对外发布了全球首款闭式循环一体液冷八路服务器I980-G30。...
作为一名资深(fu xiu)的程序猿来说,一直不想向IDEA低头可能是我对MyEclipse最大...
2018年年底,微软云宣布其云连接服务产品ExpressRoute在中国东部 2 及中国北部 2...
图片来自 Pexels 这么多年过去了,这句话或深或浅地影响了我的技术选择,以至于...
在托管方面,许多企业只熟悉共享主机和云服务器。虽然这些解决方案适用于小到中...
云计算技术髙速转型至今,被视为将要更改网站开发、全渠道工作代管的局势。将云...
1.世上最痛苦的事,不是永恒的孤寂,而是明明看见温暖与生机,我却无能为力。世...
SAN(存储区域网络)和NAS(网络附加存储)都是存储系统的基本结构,虽然它们看起来...
工信部印发了《工业互联网专项工作组2020年工作计划》。计划提出了提升基础设施...