免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1120 | 回复: 1
打印 上一主题 下一主题

关于prstat和oracle的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-01-24 17:29 |只看该作者 |倒序浏览
关于prstat和oracle的问题,请教
我的数据库是oracle9202,os是sun 5.8,数据库配置如下
SQL>; show sga

Total System Global Area 756516552 bytes
Fixed Size 730824 bytes
Variable Size 486539264 bytes
Database Buffers 268435456 bytes
Redo Buffers 811008 bytes
SQL>; show parameter pga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 25165824

我的数据库没有任何压力,可是使用prstat -a 获得如下的结果
root@sfcl01 # prstat -a
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
27757 root 2936K 2080K sleep 59 0 2:24.42 0.3% radsnmp/4
27755 root 2176K 1712K sleep 59 0 3:23.07 0.3% snmpdx/1
19021 root 31M 22M sleep 60 0 0:03.49 0.2% radius_ora8/25
24059 root 1560K 1400K cpu0 49 0 0:00.00 0.0% prstat/1
19 root 54M 53M sleep 59 0 1:28.53 0.0% vxconfigd/1
18975 oracle 988M 942M sleep 59 0 1:31.15 0.0% oracle/1
710 root 8920K 7680K sleep 157 - 0:50.45 0.0% had/1
561 root 2456K 1208K sleep 59 0 0:02.44 0.0% arraymon/1
504 root 3104K 1016K sleep 59 0 0:00.00 0.0% lpsched/1
517 root 1448K 960K sleep 59 0 0:00.00 0.0% powerd/4
576 root 2216K 1248K sleep 100 - 0:00.34 0.0% xntpd/1
604 root 1720K 752K sleep 59 0 0:00.00 0.0% smcboot/1
498 root 2712K 1944K sleep 59 0 0:00.00 0.0% nscd/9
89 root 2664K 1416K sleep 59 0 0:00.00 0.0% devfsadm/7
455 root 1920K 1352K sleep 59 0 0:00.00 0.0% lockd/1
451 root 2440K 1912K sleep 59 0 0:01.23 0.0% inetd/1
351 root 4488K 4312K sleep 59 0 0:03.06 0.0% picld/11
456 daemon 2528K 1856K sleep 59 0 0:00.00 0.0% statd/3
389 root 162M 149M sleep 60 0 0:00.01 0.0% vxsvc/14
462 root 4112K 3224K sleep 59 0 0:00.02 0.0% automountd/5
419 root 2272K 1352K sleep 59 0 0:00.00 0.0% rpcbind/1
NPROC USERNAME SIZE RSS MEMORY TIME CPU
67 root 454M 360M 2.8% 8:30.44 0.8%
17 oracle 13G 12G 97% 2:20.46 0.0%
1 daemon 2528K 1856K 0.0% 0:00.00 0.0%
从上面可以看到,oracle消耗了12G的内存,实际上我的物理内存是2G,swap区是4G,总共才6G,所以就感到非常疑惑.

为prstat何会有这个结果呢?
请各位兄弟姐妹指教

论坛徽章:
0
2 [报告]
发表于 2005-01-24 21:23 |只看该作者

关于prstat和oracle的问题

这个我可以解释:
67 root 454M 360M 2.8% 8:30.44 0.8%
17 oracle 13G 12G 97% 2:20.46 0.0%
1 daemon 2528K 1856K 0.0% 0:00.00 0.0%

oracle前面的17,表示oracle用户一共起了17个进程,然后每个进程占用的内存的百分比的和 乘以本机实际内存 结果是12G,而每个进程占用的虚拟内存的百分比的和 乘以本机实际的内存是13个G. 看起来挺匪夷所思的吧?因为本机一般的最多也就4个G.


而实际上,oracle进程占用的内存的计算方法是有些玄妙的。就是每个进程显示的百分比 其实是所有属于一个实例的进程一共占有的!就是说,如果有15个oracle进程显示的都是7%的内存占有率,那么按照一般的计算方法,这15个进程就应该占有了105%的内存(呵呵,溢出了?),但实际上是这15个oracle进程一共占有了7%的内存!

这就是结果!
你可以用/usr/ucb/ps -aux |grep oracle 看一下是不是这么回事!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP