zoukankan      html  css  js  c++  java
  • SQLOS 内存管理器组件的关系

     
    内存节点
    内存节点是内存被划为了几块。在numa体系中一个numa节点对应一个内存节点。
    主要功能是提供分配位置。这句话来自 sql server 求生秘笈 很难理解。应该是分配内存用的。也可以理解为物理内存最原始的位置。
     
    内存clerk
    内存clerk,如果内存管理器的客户端需要分配内存,那么必须先建立内存clerk。
    dmv 
    2008:返回 SQL Server 实例中当前处于活动状态的全部内存 Clerk 的集合。
    2012:返回 SQL Server 实例中当前处于活动状态的全部内存分配器的集合。
    干嘛要翻译成内存clerk呢,翻译成分配器多好大家都看的懂。
     
    内存对象
    内存对象是一个堆,通过请求内存clerk分配内存,有3中类型的内存对象。
    1.可变的内存对象
    2.递增的内存对象
    3.固定大小的内存对象
     
    缓存
    缓存在sql server 里面主要是2类一个是 buffer pool 一个是 高速过程缓存
    buffer pool 由 8k固定大小的分配器 和 页缓存组成
     
    图上面的各个框都解释了一下,接下来讲讲图,这个图的tip 是内存管理器的组件及其关系。
    但是我看来感觉像是内存分配的过程。
     
    1个内存对象通过页分配器 可以从buffer pool 中获取内存,也可以从内存clerk中获取内存。但是2者的内存终究是来至于 内存节点的,可以看出 实际安装的内存。内存的分配只是把物理内存的指针赋给了一个变量
  • 相关阅读:
    【WebTerminal】gotty工具
    【Java】15分钟快速体验阿里Java诊断工具Arthas
    【K8S】helm chart多环境部署最佳实践-示例
    mysql-linux定时备份mysql数据库
    Mockito-简单使用使用
    EasyMock 简单使用
    SpringDataJpa学习
    js-重写jquery的ajax中的内容
    shiro-过滤器
    hadoop ha 读取 activce状态的活动节点
  • 原文地址:https://www.cnblogs.com/Amaranthus/p/2397780.html
Copyright © 2011-2022 走看看