内存监控技术深入解读.docx
《内存监控技术深入解读.docx》由会员分享,可在线阅读,更多相关《内存监控技术深入解读.docx(4页珍藏版)》请在第一文库网上搜索。
1、内存监控技术深入解读【摘要】DBA经常和内存打交道,内存也是DBA做数据库运维监控中最容易蒙圈的东西,以前用OraC1e数据库的时候,内存管理和监控方面对DBA来说压力还不大,随着开源数据库和国产数据库的日益普及,DBA面临的内存问题也越来越具有挑战性。DBA经常和内存打交道,内存也是DBA做数据库运维监控中最容易蒙圈的东西,这是因为虚拟内存(VM)这种机制带来的复杂分析问题。最简单的方式是去看内存使用率或者内存空闲空间,不过这种监控数据在大多数情况下并没有任何用处。因为1INiJX/UNIX上的内存回收默认是1AZY回收模式,只要物理内存还不至于没有可用的了,那么暂时不会回收内存。如果大量的
2、物理内存都消耗在文件缓冲上,那么过早的回收缓冲会加重操作系统IO的福安。另外因为NUMA的问题,以及SWAP的存在,让物理内存分析更加困难了。以前用OraC1e数据库的时候,OraC1e自身已经把内存和操作系统的问题解决得相当好了,所以内存管理和监控方面对DBA来说压力还不大。随着开源数据库和国产数据库的日益普及,DBA面临的内存问题也越来越具有挑战性。有时候明明物理内存还有十几个GB的空闲,但是SWAP已经用了一小半了。而且平时也没啥问题,当我们不把它当回事的时候,数据库突然宕机了。于是我们就认真的去学习了一大堆NUMA架构、SWAP、OOMKI11ER等方面的知识之后,才把这些事情搞清楚了
3、。NUMA架构下,如果使用OS默认的vm.Overcommit_memory参数时,多个NUMA节点的物理内存使用可能不均衡。当某个节点的物理内存不足时,那马另外一个节点存在很大量空闲内存也会产生大量的不必要的SWAPo因此我们总是希望随时都能够掌握物理内存的使用情况到底怎样,是不是存在风险。不过我们真的很难弄清楚物理内存的真实使用情况和风险情况。还有一个让内存分析十分头痛的是共享内存的使用,比如我们的数据库系统,都会使用共享内存作为公共缓冲,这样大量进程ATTACH的共享内存会被重复统计,让我们的内存使用总量的统计总是无法准确。我们来看一个系统的情况:可以看到上面例子里服务器物理内存使用了9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 内存 监控 技术 深入 解读