12
返回列表 发新帖
楼主: zuohao_lu

内存都去哪了?

[复制链接]
论坛徽章:
0
11#
发表于 2008-3-19 09:45 | 只看该作者
原帖由 zuohao_lu 于 2008-3-18 21:36 发表
os:linux
oracle:9207
说明:此服务器只只有跑ORACLE。
top后如下:
top - 14:59:14 up 17 days,  6:51,  1 user,  load average: 3.82, 3.03, 2.75
Tasks: 319 total,   2 running, 317 sleeping,   0 stopped,   0 zombie
Cpu(s): 18.0% us,  2.2% sy,  0.0% ni, 68.7% id, 10.5% wa,  0.1% hi,  0.6% si
Mem:   4033828k total,  4017516k used,    16312k free,     8384k buffers
Swap:  4096564k total,    39108k used,  4057456k free,  2785368k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
7072 oracle    16   0 1970m 989m 988m R   81 25.1  26:33.67 oracle
3635 oracle    15   0 1972m 739m 737m S   13 18.8  15:18.18 oracle
7375 oracle    16   0 1971m 220m 218m S   11  5.6   0:07.85 oracle
4307 oracle    16   0 1972m 790m 787m S    8 20.1   2:52.30 oracle
7379 oracle    15   0 1970m 303m 302m S    8  7.7   0:05.39 oracle

想知道红色部分内存都被分配到哪去了?

大伙给我说说。最好详细点。
先谢谢!


top看到的mem和swap两行 其实swap那行的cache是指mem的,不信你可以free看一下

使用道具 举报

回复
论坛徽章:
97
ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04
12#
 楼主| 发表于 2008-3-19 09:58 | 只看该作者
原帖由 rollingpig 于 2008-3-19 08:44 发表
看起来由可能是sort/hash_area)size设得太大

SQL> show parameter pga;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target                 big integer 524288000
SQL> show parameter WORKAREA_SIZE_POLICY;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
workarea_size_policy                 string      AUTO

使用道具 举报

回复
论坛徽章:
97
ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04
13#
 楼主| 发表于 2008-3-19 10:01 | 只看该作者
原帖由 cugshomi 于 2008-3-19 09:45 发表


top看到的mem和swap两行 其实swap那行的cache是指mem的,不信你可以free看一下

多谢
[root@Q1WIP001 ~]# free
             total       used       free     shared    buffers     cached
Mem:       4033828    4012188      21640          0      17728    2850444
-/+ buffers/cache:    1144016    2889812
Swap:      4096564      39216    4057348

使用道具 举报

回复
论坛徽章:
0
14#
发表于 2008-3-19 10:04 | 只看该作者
这就是linux的机制 cache出暂时不被使用的页 等需要使用的时候就不需要重新从磁盘调度了 加快了系统响应速度 其实你的系统还是很闲的 呵呵

使用道具 举报

回复
论坛徽章:
97
ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04
15#
 楼主| 发表于 2008-3-19 10:07 | 只看该作者
多谢cugshomi .
现在有点懂了.

使用道具 举报

回复
论坛徽章:
13
数据库板块每日发贴之星
日期:2007-09-20 01:04:22铁扇公主
日期:2012-02-21 15:02:402010新春纪念徽章
日期:2010-03-01 11:08:28月度精华徽章
日期:2009-04-01 02:15:18数据库板块每日发贴之星
日期:2008-05-17 01:02:08生肖徽章2007版:兔
日期:2008-04-07 19:49:48生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:鸡
日期:2008-01-02 17:35:53ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44数据库板块每日发贴之星
日期:2007-10-20 01:03:31
16#
发表于 2008-3-19 10:45 | 只看该作者

回复 #7 zuohao_lu 的帖子

你的系统中:
1、sga的大小是 1967099104 bytes,差不多1.8G
2、另外一部分是oracle连接所占用的,这一部分就跟你的pga设置相关了。可以根据V$PGASTAT视图来查看总共使用的pga大小。
select value/1024/1024 as "total_mem(M)" from V$PGASTAT where name = 'total PGA inuse';
3、操作系统的页面缓存的大小,可以看top中的2785368k cached,这里是2.5G。比如你打开一个文件,进行编辑,复制一个文件等等。其实这里主要要确定文件型页面占用的内存大小,但是linux中我不知道怎么查看。

这个其实我是按照aix的来说的,我发现linux中这样计算得到的并不精确。主要在于cache的大小比较难以确定。top或者free中显示的cache是操作系统的页面缓存,里面既有文件页面,也有计算页面,所以我觉得sga或者pga中的部分内存 在cache中会被重复计算,这样得到的总大小就会超过实际的物理内存大小。
比如这里2.5G+1.8G,就已经超过总的内存4G了。

使用道具 举报

回复
论坛徽章:
97
ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04
17#
 楼主| 发表于 2008-3-19 14:47 | 只看该作者
多谢BTxigua !

使用道具 举报

回复
论坛徽章:
5
会员2007贡献徽章
日期:2007-09-26 18:42:10奥运会纪念徽章:水球
日期:2008-10-24 13:17:39生肖徽章2007版:蛇
日期:2009-11-13 10:54:51ITPUB学员
日期:2009-11-30 11:23:13ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15
18#
发表于 2008-3-19 17:43 | 只看该作者
我的系统也有同样的问题,我还以为内存泄漏呢
12G内存,sga6G,可用内存最低只有100多M,不知道为什么?
[oracle@rac2 oracle]$ ipcs -sa

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status      
0x9a2493ac 65536      oracle    640        7352614912 175                     

------ Semaphore Arrays --------
key        semid      owner      perms      nsems     
0x3fda3600 360448     oracle    640        204      

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages   

[oracle@rac2 oracle]$ free
             total       used       free     shared    buffers     cached
Mem:      12035440   11680880     354560          0     239460   10032436
-/+ buffers/cache:    1408984   10626456
Swap:      4192956          0    4192956
[oracle@rac2 oracle]$

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表