你好,游客 登录 注册 搜索
背景:
阅读新闻

ORA-00471 处理方法笔记

[日期:2013-09-12] 来源:Linux社区  作者:junhuaqiu [字体: ]

2.为什么我们系统物理内存有60G,还会耗尽Lowmem?

目前系统内存详细情况如下,红色字体为NORMAL ZONE(也叫做LOWMEM)

Oracle@dzjg:~> free -lm
total used free shared buffers cached
Mem: 62174 479 61695 0 49 299
Low: 181 108 73
High: 61992 370 61622
-/+ buffers/cache: 130 62044
Swap: 8189 0 8189
oracle@dzjg:~> cat /proc/meminfo
MemTotal: 63666656 kB
MemFree: 63093160 kB
Buffers: 69124 kB
Cached: 352836 kB
SwapCached: 0 kB
Active: 173088 kB
Inactive: 299200 kB
HighTotal: 63480528 kB
HighFree: 63044476 kB
LowTotal: 186128 kB
LowFree: 48684 kB

SwapTotal: 8385920 kB

 

可以看到lowmem total181MB严重小于880MB,出现这个现象的原因是32位系统使用一种PAE kernel的技术(内存扩展)来管理主机所有的物理内存,而PAE Kernel的管理工作需要消耗一部分lowmem内存,通常为每16G就要消耗128MBlowmem。而我们的主机物理内存高至60G从而导致lowmem耗尽。

解释:Physical Address ExtensionPAE,中文译名:物理地址扩展)技术最初是为了弥补32位地址在PC服务器应用上的不足而推出的。我们知道,传统的IA32架构只有32地址总线,只能让系统容纳不超过4GB的内存,这么大的内存,对于普通的桌面应用应该说是足够用了。可是,对于服务器应用来说,还是显得不足,因为服务器上可能承载了很多同时运行的应用。PAE技术将地址扩展到了36位,这样,系统就能够容纳2^36=64GB的内存。

 

综上所述,建议如下解决办法,供参考:

办法1:升级到64位系统,这是最好的方法,因为此时所有的内存都属low memory,如此时提示out of memory,则真的是low memory耗尽,真的out of memory

办法2:拔内存,使主机物理内存将至8G左右,从而降低PAE Kernel消耗过多的Lowmem.

办法3:升级系统内核到2.6以上版本(或者重新编译系统内核参数增加lowmem的值)---谨慎使用。

更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

linux
相关资讯       ORA-00471 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款