CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他数据库开发 >  SQL Anywhere Studio

我的系统内存总使用量是1G,但oracle已经占了700M,有可能吗?

楼主kks(吃的东西太多,要用ORACLE保存)2001-11-22 10:25:03 在 其他数据库开发 / SQL Anywhere Studio 提问

请问ORACLE占内存而不释放的原因有什么。怎么解决。 问题点数:100、回复次数:12Top

1 楼flowerofwind(现实很残酷)回复于 2001-11-22 10:31:42 得分 0

又可能,在参数文件里面把她内存和进程改小一点Top

2 楼kks(吃的东西太多,要用ORACLE保存)回复于 2001-11-22 10:35:34 得分 0

但是重起的时候用量很少Top

3 楼IronPromises(铁诺)回复于 2001-11-22 10:39:16 得分 0

这是有可能的.  
  你用的肯定是Oracle8i  
  Oracle8i是用Java写的.  
   
  Java本身对内存的需求就比较的大.  
  再加上Java的garbage   collect机制有严重的缺陷.  
  不一定会得到收集.create的object在生命周期结束后仍然驻留内存.  
  因此导致消耗的内存越来越大.  
   
  办法只有在Oracle运行一段时间后将其重启.  
  要用Oracle,只有忍受它给你带来的不适.  
  Top

4 楼KingSunSha(弱水三千)回复于 2001-11-22 10:46:56 得分 50

很正常.  
   
  ORACLE是由INSTANCE自己来管理数据库的,它先从操作系统中划出一块内存,   在这块内存中的任何分配调度都有ORACLE自身来管理.这种方式和SQL   SERVER就完全不相同.Top

5 楼KingSunSha(弱水三千)回复于 2001-11-22 10:50:44 得分 0

这不存在内存释放方面的问题,ORACLE的INSTANCE启动以后,无论你开多少个SESSION,运行多少SQL   TRANSACTION,   ORACLE本身所占用的内存永远不变.   除非你修改了启动参数中内存参数.  
  Top

6 楼kks(吃的东西太多,要用ORACLE保存)回复于 2001-11-22 10:51:05 得分 0

现在我的情况是,当内存升到一定的时候,数据库就会停了,我应该怎么调整Top

7 楼jassonlu(虾米)回复于 2001-11-22 11:01:30 得分 0

Oracle又不只是他的sga占用内存,还有PGA啊,你看那些session都在干什么勾当咯,有的session可能在做一些很需要内存的操作,如大表的排序和使用rman   backup等。Top

8 楼jassonlu(虾米)回复于 2001-11-22 11:03:27 得分 0

to   KingSunSha(弱水三千):知道如何查询     session   占用的pga大小否?Top

9 楼IronPromises(铁诺)回复于 2001-11-22 11:03:58 得分 50

 
   
  ORACLE本身所占用的内存永远不变.  
  这句话我不同意.  
   
  其实要想证明很简单.  
   
  不停地开session去connect.  
  然后不停close.  
   
  我们看看Oracle的内存是不是只上不下就知道了.  
  不过前提是用Oracle8.16以上版本.  
  Top

10 楼KingSunSha(弱水三千)回复于 2001-11-22 13:16:02 得分 0

jassonlu(虾米):  
   
  PGA确实要占用内存,如果不开多线程的话,PGA里会包含堆栈和会话信息,如果打开多线程,会话信息就在SGA中而不在PGA中.通常来说,考虑服务器资源主要是SGA.  
   
  没有注意过查询PGA的状态,找了一下,V$SYSSTAT中只有PGA占用的总共空间而没有GROUP   BY   SESSION的信息.  
  SQL>   select   *   from   v$sysstat  
      2     where   name   like   'session   pga%';  
   
  STATISTIC#   NAME                                                 CLASS             VALUE  
  ----------   ---------------------------   ----------   ----------  
                  20   session   pga   memory                                       1   1571427024  
                  21   session   pga   memory   max                               1   1571427024  
   
  能请教一下这么问题吗?  
  Top

11 楼kks(吃的东西太多,要用ORACLE保存)回复于 2001-11-23 15:18:46 得分 0

如何查询每个SESSION的内存使用量Top

12 楼flowerofwind(现实很残酷)回复于 2001-11-23 15:52:46 得分 0

弱水  
  v$sesstat是统计什么信息的?Top

相关问题

  • 进程的虚拟内存使用量与其内存使用量是什么关系?
  • 显示容量与实际使用量不符
  • 我想限制程序占用CPU使用量.
  • [求助]返回内存的使用量的方法
  • 如何监测某个进程的内存使用量
  • 求救:怎样得到当前正在运行程序的内存使用量?
  • 如何获取到该应用程序的内存使用量(vb.net)?
  • oracle 10g 中的g是什么意思?
  • 我机器的内存常常会莫名其妙的达到很高的使用量,这是为什么?
  • vc调试中如何监视一个程序的内存使用量,有没有内存泄漏。

关键词

  • 内存
  • oracle
  • 信息
  • sql
  • pga
  • 占用
  • 参数
  • sga
  • session
  • 话

得分解答快速导航

  • 帖主:kks
  • KingSunSha
  • IronPromises

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo