oracle之内存―鞭辟近里(三)(二)
44
PGA memory freed back to OS 2492006400 bytes
total PGA used for auto workareas 0 bytes
NAME VALUE UNIT
------------------------------------------------------------ ---------- ------------------------
maximum PGA used for auto workareas 5968896 bytes
total PGA used for manual workareas 0 bytes
maximum PGA used for manual workareas 268288 bytes
over allocation count 0
bytes processed 2484548608 bytes
extra bytes read/written 0 bytes
cache hit percentage 100 percent
recompute count (total) 11557
已选择19行。
SYS@orcl#
Aggregate pgatarget parameter:该值为在初始化参数中pga_aggregate_target参数的大小,默认为sga的20%,如果参数值(pga_aggregate_target)为0,那么自动管理pga就被关闭了。
SYS@orcl#r
1* select name,value from v$spparameter wherename like 'pga%'
NAMeva lUE
------------------------------------------------------------
pga_aggregate_target268435456
可以看到该值就是spfile中设置的值,为256M
Aggregate pga auto target:在自动模块下能够给工作去分配的总的pga大小,这个值动态的来源于pga_aggregate_target参数的值和工作区域的工作量占用的大小。然而,这个值被oracle不断的进行调整,如果这个值比pga_aggregate_target 值小,那么就有可能存在很多的pga内存被其他
组件占用如pl/sql 或是java内存,给工作区域留下了很小的一部分内存空间,在自动模块一应该保证有足够的work area进行运行相应内容。
Global memory bound:
在自动模块下可用的工作区的最大大小。这个值经常被oracle进行调整,以此来反应当前工作区域执行任务的情况。当活动的工作区在系统中增加的时候,这个全局内存区域通常就会减小。一般来说这个全局值不应该小于1M,如果小于1M,那么就应该增加pga_aggregate_target参数的值了。
Total pga iuse:
该参数表示当前分配的pga中有多少内存给了work area ,一般可用参考该值进行反映出其他消耗内存的组件消耗了多少内存。
Total pga allocated:
maximum PGA allocated:
从实例开始在一个时间分配的pga的最大大小是多少。
Total freeablepga memory:表示所有process占用的多少pga内存可以释放给os。
process count:
表示在最后三秒内所有激活的进程数目是多少。
max process count:
从实例启动开始算起,最大的进程数目是多少
PGA memory freed back to OS:
表示从实例启动开始一共返回给系统多少的内大小。
Total pga usedfor auto workareas:
表示在自动内存管理模式下,当前有多少pga内存被工作区域所占用,这个值可以决定有多少pga内存被其他的组件进行消耗。
Pga other=total pga allocated-total pgaused for auto workareas
Over allocationcount:
该值就是一个计数,从实例启动开始算起,当PGA_AGGREGATE_TARGET设置非常小或工作区负载增长很快时,会超额分配PGA内存(分配的值大于PGA_AGGREGATE_TARGET)。这种情况发生时,
Oracle不能限制PGA内存小于PGA_AGGREGATE_TARGET,只能分配实际需要的PGA内存。此时,建议通过建议器视图V$PGA_TARGET_ADVICE来增加PGA_AGGREGATE_TARGET的大小。
Total bytes processed:从实例启动开始被进程处理的字节数。
Extra bytes read/written:当一个工作区域达不到一个最优值的时候,自从实例启动后,需要额外输入数据所处理的字节数。当工作区无法在最佳状态下运行时,就需要进行这个额外处理。
cache hit percentage:
Oracle计算出来的一个与PGA内存组件性能相关的数据,是自从实例启动后累加的。如果这个值是100%,则表示实例启动后,所有
系统使用到的工作区都分配了最佳的PGA内存。
当工作区无法在最佳状态下运行,就需要进行额外的数据输入处理,这将会降低cache hit percentage。
2、v$process:
该视图中可以反映出进程使用的pga的大小信息:
PGA_USED_MEM:该进程所使用的pga内存大小
PGA_ALLOC_MEM:分配给该进程的pga大小:
PGA_FREEABLE_MEM:该进程能够释放的内存大小
PGA_MAX_MEM:该进程所能够分配的最大内存大小:
eg:
SQL> select program,pga_used_mem,pga_alloc_mem,pga_freeable_mem,pga_max_mem from v$process
2 ;
PROGRAM PGA_USED_MEM PGA_ALLOC_MEM PGA_FREEABLE_MEM PG