linux 加大mysql内存,mysql 与linux ~ 内存分析与调优

一 简介:linux内存和mysql

二 分类

1 用户空间和内核空间

用户空间内存,从低到高分别是五种不同的内存段

1 只读段 包含代码和常量等

2 数据段 包含全局变量等

3 堆,包含动态分配的内存,从低地址开始增长

4 文件映射段,包括动态库,共享内存等,从高地址开始向下增长

5 栈,包括局部变量和函数调用的上下文切换等,栈的大小一般是8MB

2 分配内存

1 使用C标准库的malloc()或者mmap(),就可以在堆和文件映射段分配内存了,通过free()或者ummap()进行释放

3 回收内存空间的方式

注意 下面进行回收的内存都是被标记为已使用的

1 回收缓存 LRU淘汰不常使用的缓存页

2 回收不常访问的内存.把不常用的内存通过交换分区直接写到磁盘中

3 杀死进程 OOM-KILLER

4 top关注进程

virt是虚拟内存占用量,即便没有使用,只要申请过,就会算进去

res 是实际占用内存,但是不包含共享内存和swap占用

share 是共享内存大小

mem% 是进程占用物理内存的百分比

注意 通常情况下虚拟内存的占用会远远大于真实内存,但是如果相等,就标明申请的全部用到

5 free -m

1 Buffer(缓冲区) 是对磁盘数据的缓存,用来合并多次小写成为一次大写

2 Cache(缓存) 是文件数据的缓存,用来进行文件的读写

数据库针对cache的使用率非常高,因为都是从文件读取数据到内存的

三 mysql层

1 innodb_buffer_pool定义(主要)

2 session占用(次要)

3 table cache相关的内存(次要)

4 tmp/memory 引擎表占用(次要)

四 分析方法

一 linux角度

工具:pmap是linux系统自带的一款内存分析工具

用法: pmap -d pid

说明

-x extended Show the extended format. 显示扩展格式

-d device Show the device format. 显示设备格式

输出结果解析:

1 mapped 和writeable/private 能够反映内存的变化.

mapped 表示该进程映射的虚拟地址空间大小,也就是该进程预先分配的虚拟内存大小,即ps出的vsz

writeable/private 表示进程所占用的私有地址空间大小,也就是该进程实际使用的内存大小

shared 表示进程和其他进程共享的内存大小

工具: valgrind

用法: ./valgrind --tool=memcheck --leak-check=yes --show-reachable=yes program

可以确定是否有内存泄漏

二 mysql角度

版本:mysql5.7+

分析 1 根据 performance_schema 可以分析 现主要的占用内存,比如innodb_buffer_pool,session等

2 查看mysql innodb_buffer_pool的命中率

五 常见问题:

1 linux系统内存较少,mysql发生OOM

2 linux系统内存很大,mysql innodb_buffer_pool指定很少,但是内存占用无限大,最后导致被OOM

mysql与linux ~ 磁盘分析与调优

一 简介 谈谈磁盘IO的问题二 目的:如何进行IO性能问题的排查 二  linux角度   一 机械硬盘基本定义       寻道时间,表示磁头在不同磁道之间移动的时间(最耗时).       旋转延 ...

linux性能分析及调优

第一节:cpu 性能瓶颈 计算机中,cpu是最重要的一个子系统,负责所有计算任务: 基于摩尔定律的发展,cpu是发展最快的一个硬件,所以瓶颈很少出现在cpu上: 我们线上环境的cpu都是多核的,并且基 ...

linux性能调分析及调优

转:https://blog.csdn.net/luokehua789789/article/details/53007456 Linux 性能分析以及调优介绍 写在前面:计算机要解决的基本问题之一是 ...

linux 内核参数VM调优 之 参数调节和场景分析

1. pdflush刷新脏数据条件 (linux IO 内核参数调优 之 原理和参数介绍)上一章节讲述了IO内核调优介个重要参数参数. 总结可知cached中的脏数据满足如下几个条件中一个或者多个的时 ...

(转)linux IO 内核参数调优 之 参数调节和场景分析

1. pdflush刷新脏数据条件 (linux IO 内核参数调优 之 原理和参数介绍)上一章节讲述了IO内核调优介个重要参数参数. 总结可知cached中的脏数据满足如下几个条件中一个或者多个的时 ...

Linux 系统TCP连接内存大小限制 调优

系统TCP连接内存大小限制 TCP的每一个连接请求,读写都需要占用系统内存资源,可根据系统配置,对TCP连接数,内存大小,限制调优. 查看系统内存资源 记录内存 详情:cat /proc/meminf ...

鲲鹏性能优化十板斧(二)——CPU与内存子系统性能调优

1.1 CPU与内存子系统性能调优简介 调优思路 性能优化的思路如下: l   如果CPU的利用率不高,说明资源没有充分利用,可以通过工具(如strace)查看应用程序阻塞在哪里,一般为磁盘,网络或应 ...

MySQL基础普及《MySQL管理之道:性能调优、高可用与监控》

最近工作的内容涉及MySQL运维内容,陆陆续续读了几本相关的书,其中一本是. 内容涵盖性能调优(包括sql优化等).备份.高可用,以及读写分离 ...

linux概念之性能调优

目前,对系统进行性能调试的工具有很多,这些可以两大类:一类是标准的分析工具,即所有的UNIX都会带的分析工具: 另一类是不同厂商的UNIX所特有的性能分析工具,比如HP-UX就有自己的增值性能分析工具 ...

随机推荐

vim 基本使用

vim 下基本命令 重新加载 .vimrc source ~/.vimrc 列出当前缓冲区的所有文档 ls 然后使用 b+编号 移至该文档 选中多行 v + shift 然后 j k 上下移动 缩进单 ...

Python黑帽编程 2.0 第二章概述

Python黑帽编程 2.0 第二章概述 于 20世纪80年代末,Guido van Rossum发明了Python,初衷据说是为了打发圣诞节的无趣,1991年首次发布,是ABC语言的继承,同时也是一 ...

mysql忘记密码,修改密码重新安装的一些问题

前言 想要装cobra,却意外发现mysql连接失败,命令行连一下发现无论怎么样都连不上了. 我能想到的密码都用上了,糟糕!看来只能修改密码,或者重装了. 最后是重装搞定的,当然也发现了正确的修改密码 ...

实际开发--->php时间函数

当前日期(例:2017-10-04):date('Y-m-d',time()); 当前时间戳:strtotime(date('Y-m-d H-i-s',time()); 当前年月(例:2017-10) ...

kubernetes进阶(02)kubernetes的node

一.Node概念 Node是Pod真正运行的主机,可以物理机,也可以是虚拟机. 为了管理Pod,每个Node节点上至少要运行container runtime(比如docker或者rkt). kube ...

thinkphp3.2升级至thinkphp5.0.24

view文件 修改文件名 把tp3.2.3\app\module\view文件夹下所有文件夹拷贝至tp5\app\module\view 打开cmd命令窗口,cd至view文件夹下,执行dir /b ...

web 常用颜色

1. 推荐链接 RGB颜色值与十六进制颜色码转换工具 Web上16种基本颜色名称 WEB标准颜色 2. 个人常用 除了三原色,还有 #daf1ef#4DBCB0#ccc

CentOS6.9 网络设置

一.临时设置IP地址 ifconfig eth0 192.168.42.119 broadcast 192.168.42.129 netmask 255.255.255.0 二.上述方法只能临时生效, ...

LeetCode 40

// 既然不能重复利用,就在递归中选择下一个数,不能重复的话,就用setclass Solution { public: vector> combina ...

2014年第五届蓝桥杯B组(C/C++)预赛题目及个人答案(欢迎指正)

参考:https://blog.csdn.net/qq_30076791/article/details/50573512 第3题: #include usi ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值