首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > Process Memory的详细信息 (一)
【标  题】:Process Memory的详细信息 (一)
【关键字】:c,信息,Memory,Pro,Me,or,Process,Memory
【来  源】:网络

Process Memory的详细信息 (一)


  The Process Memory:

除了SGA(System Global Area)之外,Oracle进程还使用下面三个全局区:

The Process Global Area  (PGA)

The User Global Area   (UGA)

The Call Global Area   (CGA)

  很多人都搞不清楚PGAUGA两者之间的区别,实际上两者之间的区别跟一个进程和一个会话之间的区别是类似的.尽管说进程和会话之间一般都是一对一的关系,但实际上比这个更复杂.一个很明显的情况是MTS配置,会话往往会比进程多得多.在这种配置下,每一个进程会有一个PGA,每一个会话会有一个UGA.PGA所包含的信息跟会话是无任何关联的,UGA包含的信息是以特定的会话为基础的.

 

The PGA:

进程全局区(PGA)即可以理解为Process Global Area,也可以理解为Program Global Area.它的内存段是在进程私有区(Process Private Memory)而不是在共享区(Shared Memory).它是个全局区意味着它包含了所有代码有可能进入的全局变量和数据结构,但是它是不被所有进程共享的.每个Oracle的服务器进程都包含有属于自己的PGA,它只包含了本进程的相关特定信息.PGA中的结构不需要由latches来保护,因为其它的进程是不能进入到这里面来访问的.

PGA包含的是有关进程正在使用的操作系统资源信息以及进程的状态信息,而其它的进程所使用的Oracle的共享资源是在SGA.PGA是私有的而不是共享的,这个机制是有必要的,因为当进程死掉后可以把这些资源清除和释放掉.

PGA包含两个主要区域:Fixed PGAVariable PGA或称为PGA Heap. Fixed PGA的作用跟Fixed SGA是类似的,都包含原子变量(不可分的),小的数据结构和指向Variable PGA的指针.

Variable PGA是一个堆.它的Chunks可以从Fixed Table X$KSMPP查看得到,这个表的结构跟前面有提到的X$KSMSP是相同的.PGA HEAP包含了一些有关Fixed Table的永久性内存,它跟某些参数的设置有依赖关系.这些参数包含DB_FILES,LOG_FILES,CONTROL_FILES.

 

The UGA:

  UGA(User Global Area)包含的是特定会话的信息,有如下一些:

       所打开游标的持续和运行时间内的区域

       包的状态信息,特定的变量

       Java会话状态

       可以用的ROLES

       ENABLE的跟踪事件

       起作用的NLS参数设置

       打开的DBLINK

       会话的入口控制

  PGA一样,UGA也由两区组成:Fixed UGAVariable UGA,也称为UGA HEAP. Fixed UGA包含了大约70个原子变量,小的数据结构和指向Variable UGA的指针.

  UGA HEAP中的Chunks可以从它们自己的会话中通过查看表X$KSMUP获得相关信息,这个表的结构跟X$KSMSP是一样的.UGA HEAP包含了一些有关fixed tables的永久性内存段,跟一些参数的设置有依赖关系.这些参数有OPEN_CURSORS,OPEN_LINKS,MAX_ENABLE_ROLES.

  UGA在内存中的位置依赖于会话的配置方式.如果会话连接的配置方式是专用服务器模式(DDS)即是一个会话对应一个进程,UGA是放在PGA中的.PGA,Fixed UGA是其中的一个Chunk,UGA HEAPPGA的一个子堆(Subheap).如果会话连接是配置为共享服务器模式(MTS), Fixed UGASHARED POOL中的一个Chunk,UGA HEAP则是SHARED POOL中的子堆(Subheap)

Process Memory的详细信息 (二):【上一篇】
获得Oracle各内存段的内部信息 (二):【下一篇】
【相关文章】
  • Process Memory的详细信息 (二)
  • Oracle Database 10g:改善的表空间管理
  • Oracle Database 10g:回滚监视
  • Oracle Database 10g:闪回版本查询
  • Oracle Database 10g:删除表
  • 如何察看Oracle进程消耗的内存
  • 如何处理Oracle数据库中的坏块问题
  • Oracle内存结构:SGA的区域信息
  • 裸设备和Oracle问答20例
  • 我在RH9下安装Oracle8.1.7经历
  • 【随机文章】
  • 下拉框的onchange事件的用法
  • IBM UniData 7.1简介及下载
  • EXE到SWF文件的转换代码
  • C线程互斥锁的使用
  • Hibernate中双向关联加载排序的解决方案
  • 传奇3 武器成败天注定
  • 我们明天还相爱吗
  • 当鼠标放在DataList的任何一行时,如何改变行的颜色
  • "Automation 服务器不能创建对象"的解决方法
  • 计算机病毒对抗技术分析
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.