Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

45

积分

0

好友

6

主题
1#
发表于 2012-1-12 11:50:51 | 查看: 10089| 回复: 5
如何计算出目前oracle的session占用了多少物理内存,我的操作系统是solaris 10,目前的session数为

SQL> select count(*) from v$session;
  COUNT(*)
----------
      3015

,谢谢了
2#
发表于 2012-1-12 11:53:00
请先参考

Script: Listing Memory Used By All Sessions
http://www.oracledatabase12g.com ... y-all-sessions.html

上传以上脚本的输出

回复 只看该作者 道具 举报

3#
发表于 2012-1-12 12:38:56

执行脚本的结果输出

这是最后面的结果输出:
Thu Jan 12                                                             page 1523
        PGA = dedicated server processes - UGA = Client machine process
  SID Name                              Max Bytes                              
----- ------------------------- -----------------                              
   72 session uga memory max           54,003,952                              
   72 session pga memory               54,594,312                              
   72 session pga memory max           54,659,848                              
2614 session uga memory max          620,655,792                              
2614 session pga memory max          644,680,456                              
                                -----------------                              
sum                                10,646,394,424                              
12181 rows selected.
SQL> spool off
最后面的sum的值就是所有的session占用的物理内存吗?
10646394424/1024/1024/1024=9.91522G

memory_session.rar

49 KB, 下载次数: 1770

回复 只看该作者 道具 举报

4#
发表于 2012-1-12 19:14:42
计算的是这些session所占用的PGA , 但不代表这些服务进程所占用的所有内存。

在Solaris上你可以观察 Oracle服务进程的rss驻留集值,累加rss以得到oracle进程的私有内存总使用量。

echo "::memstat"|mdb -k

利用以上命令 观察Solaris的内存使用情况。

回复 只看该作者 道具 举报

5#
发表于 2012-1-12 21:06:30

仍有疑问,麻烦帮忙解答下

通过查找v$pgastat ,查找到如下信息:
total PGA inuse 2612756480 bytes
total PGA allocated 4584462336 bytes
我的PGA分配的是7G,通过运行的脚本,得到的sum值为10646394424/1024/1024/1024=9.91522G
这个有疑问?
附件为mdb的输出和执行ps -elfy 的输出,您帮忙看下?

mdb_0112.txt

45.79 KB, 下载次数: 1415

ps.txt

219.62 KB, 下载次数: 1445

回复 只看该作者 道具 举报

6#
发表于 2012-1-12 21:19:07
PGA_AGGREGATE_TARGET 仅是一个目标值, 实际分配的内存可能大于该参数

10g 11g 一般单个服务进程要占用 3-5M; 在dedicated server模式下  3015*3=9045M

你的mdb 输出有点多,  是用

mdb -k
::memstat

获得的吗?


如果你有兴趣深入诊断, 再跑一下这里的一个 脚本 http://www.oracledatabase12g.com ... gnostic-script.html  并上传结果

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-23 20:52 , Processed in 0.051761 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569