第一pga 畸形消费分析

简介:

第一pga 畸形消费分析

os: aix 6

db:10205


------使用os 命令观察oracle 存消耗情况
#ps gv
......                                                    size
23396516      - A    14907:02 5203  14324376 2058800    xx 90815 38576  2.0  3.0 oracle
23396516      - A    14907:02 5203  14324376 2058800    xx 90815 38576  2.0  3.0 oracle
57540768      - A    3711:33 8331   15108164 15146740    xx 90815 38576  1.9 23.0 oracle
16318890      - A    10639:03  187  15110924 15009560    xx 90815 38576  2.0 23.0 oracle
33554712      - A    17263:24 13740 9598740  185552      xx 90815 38576  2.1  0.0 oracle
41877820      - A    10492:10  826  15110484 15018716    xx 90815 38576  2.0 23.0 oracle
..............

单个进程消耗近15g 明显有问题啊


AIX/LINUX 怎样查看单个进程在os层面的内存消耗        http://blog.csdn.net/lixora/article/details/24060299

这里提供其它查看进程内存慷慨法


----查看相应oracle的应用进程内存消耗情况
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 program like '%TNS%';

41877820 :
USERNAME        SPID         PROGRAM                                          CATEGORY              USED  ALLOCATED MAX_ALLOCATED
--------------- ------------ ------------------------------------------------ --------------- ---------- ---------- -------------
oracle          41877820     oracle@sssdb                                    SQL             1.3077E+10 1.3081E+10    1.3081E+10
oracle          41877820     oracle@sssdb                                    PL/SQL                 224       2008          2008
oracle          41877820     oracle@sssdb                                    Other                      2178876745    2178876745


33554712:
USERNAME        SPID         PROGRAM                                          CATEGORY              USED  ALLOCATED MAX_ALLOCATED
--------------- ------------ ------------------------------------------------ --------------- ---------- ---------- -------------
oracle          33554712     oracle@sssdb                                    SQL             5380315176 5382747784    5382747784
oracle          33554712     oracle@sssdb                                    PL/SQL               26240      31224         37560
oracle          33554712     oracle@sssdb                                    Other                      4398399145    4398399145


USERNAME        SPID         PROGRAM                                          CATEGORY              USED  ALLOCATED MAX_ALLOCATED
--------------- ------------ ------------------------------------------------ --------------- ---------- ---------- -------------
oracle          16318890     oracle@sssdb                                    SQL             1.3066E+10 1.3070E+10    1.3070E+10
oracle          16318890     oracle@sssdb                                    PL/SQL                 224       2008          2008
oracle          16318890     oracle@sssdb                                    Other                      2185355529    2185355529


USERNAME        SPID         PROGRAM                                          CATEGORY              USED  ALLOCATED MAX_ALLOCATED
--------------- ------------ ------------------------------------------------ --------------- ---------- ---------- -------------
oracle          57540768     oracle@sssdb                                    SQL             1.3291E+10 1.3294E+10    1.3294E+10
oracle          57540768     oracle@sssdb                                    PL/SQL                 224       2008          2008
oracle          57540768     oracle@sssdb                                    Other                      2093690553    2093690553


USERNAME        SPID         PROGRAM                                          CATEGORY              USED  ALLOCATED MAX_ALLOCATED
--------------- ------------ ------------------------------------------------ --------------- ---------- ---------- -------------
oracle          23396516     oracle@sssdb                                    SQL             1.1608E+10 1.1611E+10    1.1611E+10
oracle          23396516     oracle@sssdb                                    PL/SQL                 224       2008          2008
oracle          23396516     oracle@sssdb                                    Other                      2769131497    2769131497


大部分内存花销在sql 上


select program, MODULE, TERMINAL  , MACHINE from v$session where paddr in (select addr from v$process  where spid in(23396516,57540768,33554712,16318890 ,41877820));


----确定对应的应用
SQL> select program, MODULE, TERMINAL  , MACHINE from v$session where paddr in (select addr from v$process where spid in(23396516,57540768,33554712,16318890 ,41877820));
 
PROGRAM        MODULE         TERMINAL             MACHINE
------------    -------------   ----------------- ----------------
xxx.exe        xxx.exe      sfd       DC9A29A
xxx.exe        xxx.exe     sdf72172       WOR722C72172
xxx.exe        xxx.exe      GR5FD       WORKG-4715FD
xxx.exe        xxx.exe      FSK051             WOBG051
xxx.exe        xxx.exe      CD3LVB0U      MSVWCVB0U



---------这里继续跟踪对应应用的session 来确定这个应用中究竟是那些操作造成了如此大的内存开销
1、找出应用的sid和serial#

SQL> select sid,serial# from v$session where lower(program) like '%isap_client%';

       SID    SERIAL#
---------- ----------
        78       1703


2、開始跟踪

SQL> exec sys.DBMS_SYSTEM.set_sql_trace_in_session(78,1703,true);

PL/SQL procedure successfully completed.


3、期间做点关于这个应用的操作(保证和数据库能有交互)

4、停止跟踪,在user_dump_dest文件夹下会生成跟踪的trace文件

SQL> exec sys.DBMS_SYSTEM.set_sql_trace_in_session(78,1703,false);

PL/SQL procedure successfully completed.


5、找出并进入user_dump_dest文件夹,最后生成那个文件就是要用的trace文件

SQL> set lines 1024
SQL> show parameter user_dump_dest

NAME                                 TYPE                             VALUE
------------------------------------ -------------------------------- ------------------------------
user_dump_dest                       string                           /opt/oracle/db01/app/oracle/ad
                                                                      min/ORCL/udump
SQL> exit

$ cd /opt/oracle/db01/app/oracle/admin/ORCL/udump
$ ls -otr | tail -1
-rw-r-----   1 oracle    576097 Jan 8 16:15 orcl_ora_24884.trc
$

6、使用tkprof格式化trace文件。sys=no的意思是不查看sys用户的操作,看了也没啥用

$ tkprof orcl_ora_24884.trc report.txt sys=no

TKPROF: Release 9.2.0.4.0 - Production on Tue Jan 8 16:19:35 2008

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

$

7、查看格式化后的文件report.txt。里头就有跟踪期间发生的全部存储过程(存储过程中运行的sql操作也会逐条显示)和sql操作,还有各sql运行的统计数据,能够了解哪些sql快,哪些慢了

$ more report.txt





版权声明:本文博客原创文章,博客,未经同意,不得转载。





本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4711410.html,如需转载请自行联系原作者


相关文章
|
5月前
|
DataWorks DataX
请仔细检查DataX报告的脏数据日志信息,或者调整脏数据阈值。
请仔细检查DataX报告的脏数据日志信息,或者调整脏数据阈值。
1264 1
|
3月前
|
消息中间件 RocketMQ
MetaQ/RocketMQ 原理问题之当消费集群规模较大时,处理分配不到队列的Consumer的问题如何解决
MetaQ/RocketMQ 原理问题之当消费集群规模较大时,处理分配不到队列的Consumer的问题如何解决
|
3月前
|
算法
分库分表 序列号耗尽 数据堆积
【7月更文挑战第15天】
28 8
|
2月前
|
监控 Java 中间件
分布式链路监控系统问题之当某个Segment数据缺失的问题如何解决
分布式链路监控系统问题之当某个Segment数据缺失的问题如何解决
|
4月前
|
SQL 运维 Serverless
函数计算产品使用问题之实时数据消费太慢,造成积压,该怎么办
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
5月前
|
消息中间件 Shell 数据处理
rocket mq 查看消费进度,消息堆积,清除堆积数据命令
该内容是关于RocketMQ的消费进度管理和堆积数据处理的指导。首先,需进入RocketMQ的bin目录,然后使用`mqadmin consumerProgress`命令查看消费者或生产者的消费进度。`broker offset`和`consumer offset`的差值表示未消费消息。通过`resetOffsetByTime`命令可重置消费位点来清除堆积数据,未消费消息默认3天后会被丢弃。此外,`CONSUME_FROM WHERE`枚举类定义了消费起点选项,包括从最后、最开始或指定时间点消费。
1239 3
|
4月前
|
消息中间件 存储 负载均衡
消息队列 MQ产品使用合集之如何排查是哪个队列导致的异常TPS增加
阿里云消息队列MQ(Message Queue)是一种高可用、高性能的消息中间件服务,它允许您在分布式应用的不同组件之间异步传递消息,从而实现系统解耦、流量削峰填谷以及提高系统的可扩展性和灵活性。以下是使用阿里云消息队列MQ产品的关键点和最佳实践合集。
|
4月前
|
消息中间件 Java Apache
消息队列 MQ产品使用合集之Broker内存瞬间增大一倍一般是什么导致的
阿里云消息队列MQ(Message Queue)是一种高可用、高性能的消息中间件服务,它允许您在分布式应用的不同组件之间异步传递消息,从而实现系统解耦、流量削峰填谷以及提高系统的可扩展性和灵活性。以下是使用阿里云消息队列MQ产品的关键点和最佳实践合集。
|
5月前
|
消息中间件 负载均衡 Kafka
Kafka学习---消费者(分区消费、分区平衡策略、offset、漏消费和重复消费)
Kafka学习---消费者(分区消费、分区平衡策略、offset、漏消费和重复消费)
546 2
|
11月前
|
消息中间件 Java RocketMQ
一个JVM中可以同时存在多个消费
一个JVM中可以同时存在多个消费
54 2