Buffer Pool--内存相关术语
虚拟地址空间(virtual address space):
供应用程序能够申请访问的最大地址空间,32位系统上为4GB,64位系统上是8TB,虚拟地址空间映射的数据不一定存放在物理内存中,还可能存放在页面文件(page file)中
Reserved Memory(保留内存):
应用程序通过windows api向虚拟地址空间上申请保留的一块内存地址空间,该空间不是物理内存空间,甚至尚未分配空间/建立页面映射
保留内存只是虚拟内存空间上的一段地址,而非真正的物理内存空间,甚至根本没有分配空间/建立页面映射
保留地址空间不能被其他程序访问
Committed Memory(提交内存)
将预先保留(reserved)内存正式提交(committed)使用,提交的页面在访问时最终转化成物理内存中的有效页面,即在物理内存中申请到一段空间来存放数据。
Shared Memory(共享内存):
在进程和操作系统间可以相互共享的内存,对多个进程可见的内存或存在于多个进程的虚拟地址空间
Private Bytes
某个进程提交的地址空间(committed memory),非共享部分
Working set(工作集)
进程提交的并且存放在物理内存的内存空间
Page Fault(页面访问错误)
1.soft Page Fault:目标页面不存在于当前工作集下,需要一次跳转才能访问到的其他进程工作集下的物理地址空间,成为软错误,该错误切换速度快,可以不考虑
2.Hard Page Fault:目标页面存在硬盘上,需要一次硬盘读,管理员需要关注该错误
System Working Set:
系统使用的物理内存
System Cache:
用于映射在系统高速缓存中打开的文件页面,以提高磁盘IO任务的速度
Non Paged Pool:
包括一定范围的系统虚拟地址的内存交换区,保证在任何时候都驻留在物理内存的页面
Paged Pool:
系统空间中可以调入调出系统进程工作集的虚拟内存区域,页交换区在系统初始化时建立,被内存模式组件用来分配系统内存
stack(栈)
每个线程有两个栈,一个内核模式(kenel model),一个用户模式(user model)
Lock Page In Memory:
当SQL的启动系统有Lock Page In Memory的权限时,会将申请到的物理内存一直锁住不释放,不会被Windows的换页机制换出到磁盘上。
但当windows有内存压力时,SQL Server仍需释放内存。
SQL Server企业版会默认开启该选项
SQL Server中NonBuffer Pool中的内存在windows存在内存压力时也不释放。
SQL Server中Min Server Memoery 是逻辑概念,不表示SQL Server 使用最小物理内存数,当SQL Server申请内存超过该值后,SQL server内存值到达该值后便不会在释放
SQL Server中Max Server Memoery 是逻辑概念,表示SQL sever的使用内存不超过该值,但该值不代表物理内存值。
请不要使用sp_configure 'set working set size'来配置内存,可能会引发错误
Buffer Pool--内存相关术语的更多相关文章
- innodb buffer pool相关特性
背景 innodb buffer pool作为innodb最重要的缓存,其缓存命中率的高低会直接影响数据库的性能.因此在数据库发生变更,比如重启.主备切换实例迁移等等,innodb buffer po ...
- SQL Server 2014新特性——Buffer Pool扩展
Buffer Pool扩展 Buffer Pool扩展是buffer pool 和非易失的SSD硬盘做连接.以SSD硬盘的特点来提高随机读性能. 缓冲池扩展优点 SQL Server读以随机读为主,S ...
- Oracle buffer cache与相关的latch等待事件
buffer cache与相关的latch等待事件 1.buffer cache 2.latch:cache buffers lru chain 3.latch:cache buffers chain ...
- MySQL · 引擎特性 · InnoDB Buffer Pool
前言 用户对数据库的最基本要求就是能高效的读取和存储数据,但是读写数据都涉及到与低速的设备交互,为了弥补两者之间的速度差异,所有数据库都有缓存池,用来管理相应的数据页,提高数据库的效率,当然也因为引入 ...
- 14.6.3.3 Making the Buffer Pool Scan Resistant
14.6.3.3 Making the Buffer Pool Scan Resistant 相比使用一个严格的LRU算法,InnoDB 使用一个技术来最小化数据总量 带入到buffer pool 而 ...
- 谁占用了我的Buffer Pool
原文:谁占用了我的Buffer Pool 转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/01/11/buffer-pool.aspx 我在做SQL S ...
- 谁占用了我的Buffer Pool?--【转】
转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/01/11/buffer-pool.aspx 我在做SQL Server 7.0技术支持的时候有客户问我 ...
- 查看Buffer Pool使用情况--[转]
----源自:微软官方博客论坛 我的SQL Server buffer pool很大,有办法知道是哪些对象吃掉我的buffer Pool内存么?比方说,能否知道是哪个数据库,哪个表,哪个index占用 ...
- InnoDB缓存---InnoDB Buffer Pool
InnoDB Buffer Pool 定义 对于InnoDB存储引擎,不管用户数据还是系统数据都是以页的形式存储在表空间进行管理的,其实都是存储在磁盘上的. 当InnoDB处理客户端请求,需要读取某页 ...
随机推荐
- [Android] 开发第十天
这几天因为电脑的 USB口发生故障,一直没怎么玩 Android-Studio 后来把电脑从 Win7 -> Win10 重装后,一部分 USB口 可以使用了,然后接着开发 Android 接 ...
- 解决MongoDB分页查询之count查询慢的问题
一.概述 问题描述:在项目中优化动态查询分页接口时,发现count查询很慢(数据量大概30万),那如何解决这个问题呢? 解决方法:添加索引,多个查询条件可以添加复合索引 二.测试对比 1. 未加索引时 ...
- varchar和Nvarchar区别(转)
Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示 如果还为了这个纠结,就直接看看后面的解说,做决定吧. 一般如果用到中文或者其 ...
- java 线程之对象的同步和异步
一.多线程环境下的同步与异步 同步:A线程要请求某个资源,但是此资源正在被B线程使用中,因为同步机制存在,A线程请求不到,怎么办,A线程只能等待下去. package com.jalja.org.th ...
- 删除链表中的元素 · Remove Linked List Elements
[抄题]: Remove all elements from a linked list of integers that have value val. ExampleGiven: 1 --> ...
- 系统批量运维管理器pexpect详解
一.pexpect介绍 pexpect可以理解成Linux下的expect的Python封装,通过pexpect我们可以实现对ssh.ftp.passwd.telnet等命令进行自动交互,而无需人工干 ...
- MacOS下打包Python应用
在MacOS下开发的Python应用,不是Web Application,开发好以后,如何给用户使用呢?用户的操作系统也是MacOS 使用py2app打包 一.软件环境 ...
- ie11的仿真模式
1>在ie11的仿真模式中,所有版本的按钮都失效,解决方法:再ie的配置中,选项-高级-重置,然后重启ie11 程序员的基础教程:菜鸟程序员
- java 内存 线程 类 vm分析工具
JMeter.Jconsole.JVMStat
- Android 密匙库导出
导出debug 签名----------------------------- C:\Documents and Settings\Administrator>keytool -list -v ...