专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

oracle查看每个session 的pga内存使用 值得收藏!

ins518 2024-10-15 13:12:57 技术文章 15 ℃ 0 评论

概述

先介绍下官网上V$PROCESS_MEMORY的介绍,后面会用到

V$PROCESS_MEMORY

V$PROCESS_MEMORY displays dynamic PGA memory usage by named component categories for each process.

下面分享下怎么去查每个session的pga内存占用情况


1. 通过查询v$session 视图,获知PADDR地址

SQL> select username,sid,paddr from v$session where username is not null;

这里可以看到251个session 的PADDR

2. 通过PADDR,和视图v$process关联后,得到spid。

sql>select addr,pid,spid,username from v$process where addr in ('000000024D310A18','0000000250350FD0');

这样可以看到其中2个session 的spid,和pid了

3. 再查看v$process_memory视图

sql>select p.username,p.spid,p.program,pm.category,pm.used,pm.allocated,pm.max_allocated from v$process p ,v$process_memory pm where p.pid=pm.pid and p.pid = 16;

到这里就可以找到sid 1371 session的pga内存使用情况了


通过v$process_memory我们可以知道每个session的pga内存使用情况,大家有兴趣可以试下把所有session的pga内存加起来看下跟总的PGA使用情况是不是一致。

后期会分享更多关于监控调优、ogg、dblink、rac的内容,大家有兴趣的话可以关注下哦~

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表