第一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
版权声明:本文博客原创文章,博客,未经同意,不得转载。
第一pga 畸形消费分析的更多相关文章
- ansible代码分析第一篇--主文件—ansible分析
2016年2月23日,学习,分析ansible代码 ansible是一种运维中使用的批量部署的工具,它本身是一种框架,具体的部署和架构分析,下面这篇文章讲的不错. http://os.51cto.co ...
- 精通Web Analytics 2.0 (3) 第一章:网站分析的新奇世界
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第一章:Web Analytics 2.0的新奇世界 多年以来,我们很清楚的知道,网站分析能够真正的改革网络上业务的完成方式.那 ...
- Postmortem Report 第一轮迭代事后分析报告
一.设想和目标 1.1 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件<BlueZ>是一款全新动作类塔防游戏.与市面上已经存在的塔防游戏不同 ...
- 【我的第一个现实漏洞分析】 CVE-2017-17215 华为智能路由器HG532 漏洞分析笔记
0x00 基本信息 2017.11.27 Check Point团队报告华为 HG532 产品的远程命令执行漏洞(CVE-2017-17215),Mirai的升级版变种中已经使用该漏洞. 华为HG53 ...
- Unity Shaders 第一个默认程序分析
Unity Shaders 第一个默认程序 Shader "Custom/Shader" { Properties { _MainTex ("Base (RGB)&quo ...
- 实现手机扫描二维码页面登录,类似web微信-第一篇,业务分析
转自:http://www.cnblogs.com/fengyun99/p/3541249.html 关于XMPP组件的文章,先休息两天,好歹已经完整的写了一份. 这两天,先实现一套关于web微信扫描 ...
- uboot第一阶段关键位置分析
/* * the actual reset code */ reset: /* * set the cpu to SVC32 mode */ mrs r0,cpsr bic r0,r0,#0x1f o ...
- 震撼!全网第一张源码分析全景图揭秘Nginx
不管是C/C++技术栈,还是PHP,Java技术栈,从事后端开发的朋友对nginx一定不会陌生. 想要深入学习nginx,阅读源码一定是非常重要的一环,但nginx源码量毕竟还是不算少,一不小心就容易 ...
- linux系统性能调优第一步——性能分析(vmstat)
linux系统性能调优第一步--性能分析(vmstat) 分类: LINUX 性能调优的第一步是性能分析,下面从性能分析着手进行一些介绍,尤其对linux性能分析工具vmstat的用法和实践进行详细介 ...
随机推荐
- Android 将Activity殴打jar包 对于由第三方使用 解决XML 图片 文本资源并不难过进入jar包装问题!
做项目需要打包成jar文件供第三方使用项目要求(将图片 文字资源写到到jar包中,第三方调用时,仅须要在AndroidManifest.xml配置下对应的Activity通过StartActivity ...
- MyBatis一级缓存引起的无穷递归
MyBatis一级缓存引起的无穷递归 引言: 最近在项目中参与了一个领取优惠劵的活动,当多个用户领取同一张优惠劵的时候,使用了数据库锁控制并发,起初的设想是:如果多个人同时领一张劵,第一个到达的人领取 ...
- Windows phone 8 学习笔记(5) 图块与通知
原文:Windows phone 8 学习笔记(5) 图块与通知 基于metro风格的Windows phone 8 应用提到了图块的概念,它就是指启动菜单中的快速启动图标.一般一个应用必须有一个默认 ...
- linux grep命令详解(转)
简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...
- android EditText的美化
今天要做一个页面,有EditText,于是就搞起了它的美化. EditText的美化,我的第一反应是,在EditText的左边设置显示一张图片,这样会比較好看. 设置左边显示图片的属性为:androi ...
- Composite Design Pattern 设计模式组合
设计模式组合,它能够更类组合在一类,形成一个树状结构. #include <set> #include <iostream> #include <string> u ...
- 什么是 CGI,什么是 IIS,什么是VPS
该公司来到天.我们所从事的事情在网站上.这对我来说确实是一个很大的挑战.个人一直从事Android,对于web而一个开发网站server知识的几乎为零.在这里应该说,现在我只是有一个技术人员,昨天相遇 ...
- 重新想象 Windows 8 Store Apps (3) - 控件之内容控件: ToolTip, Frame, AppBar, ContentControl, ContentPresenter; 容器控件: Border, Viewbox, Popup
原文:重新想象 Windows 8 Store Apps (3) - 控件之内容控件: ToolTip, Frame, AppBar, ContentControl, ContentPresenter ...
- C# Windows Phone 8 WP8 开发,取得手机萤幕大小两种方法。
原文:C# Windows Phone 8 WP8 开发,取得手机萤幕大小两种方法. 一般我们在开发Windows Phone App时,需要取得萤幕的大小来自定义最佳化控制项的大小,但是开如何取得萤 ...
- GIT用服务器上的版本强制覆盖掉本地的版本(转)
以前在机子上使用git下载了linux git版本库上的源代码,由于在阅读源代码的过程中,难免会对本地的文件进行修改,这样就导致本地文件与服务器上的文件版本不一致,我想做的就是用服务器上的版本强制覆盖 ...