楼主: sxq129601

[体系架构] 请教一个内存分配的概念性问题

[复制链接]
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
51#
发表于 2019-11-14 15:14 | 只看该作者
本帖最后由 lfree 于 2019-11-14 15:17 编辑
sxq129601 发表于 2019-11-14 11:36
我是ASMM,因为有多个实例本来就不使用AMM用静默方式安装的[root@OracleDB BTBHQJL]# cat BTBHQJL2.logClea ...

已经放在最前面,我以为没贴,重复了.

忘记贴了
# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4194304
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144

--//kernel.shmall * kernel.shmmni = 4194304*4096 = 17179869184
--//17179869184/1024/1024/1024 = 16G
--//68719476736/1024/1024/1024 = 64

--//你前面提到2个实例1个8 ,1个6G,应该是这里不足了.要加大到4194304*2 = 8388608.或者设置更大一些.
--//另外的可能就是内存碎片,我有点乱猜,毕竟共享内存段需要很大一片内存,当然可以分成多段.你没有写出什么错误,应该是ora-27XXX的错误.
--//对于linux内存上许多概念还是不是很清晰,以后慢慢补充学习这方面内容.

--//我个人建议使用hugepages,现在的机器内存都很大.如果有缺点就是如果你分配hugepages,不使用就浪费了.
--//其实设置小了vm.nr_hugepages也没有什么问题.

--//use_large_pages支持auto参数.设置小了vm.nr_hugepages没关系.

SYS@book> alter system set use_large_pages=xxxxxxxxx scope=spfile ;
alter system set use_large_pages=xxxxxxxxx scope=spfile
*
ERROR at line 1:
ORA-00096: invalid value XXXXXXXXX for parameter use_large_pages, must be from among FALSE, ONLY, AUTO, TRUE

--//会启动oradism进程修改内核参数.参考链接 :http://blog.itpub.net/267265/viewspace-2135210/
--//这样的缺点是修改后不会返回给其它应用使用.你可以使用这样方式计算需要vm.nr_hugepages.

--//另外你也可以定义参数:vm.nr_overcommit_hugepages=XXXXXX.
--//这样vm.nr_hugepages定义小了,也没有关系.
--//参考链接:http://blog.itpub.net/267265/viewspace-2145481/
--//使用这个好处关闭数据库后,这部分内存可以返回给其它应用使用.

--//当然我也遇到1个问题,就是链接http://blog.itpub.net/267265/viewspace-2132921/

使用道具 举报

回复
论坛徽章:
8
2009新春纪念徽章
日期:2009-01-04 14:52:28祖国60周年纪念徽章
日期:2009-10-09 08:28:002010新春纪念徽章
日期:2010-03-01 11:07:24ITPUB9周年纪念徽章
日期:2010-10-08 09:32:25ITPUB十周年纪念徽章
日期:2011-11-01 16:23:262013年新春福章
日期:2013-02-25 14:51:24沸羊羊
日期:2015-03-04 14:51:522015年新春福章
日期:2015-03-06 11:57:31
52#
发表于 2019-11-14 16:28 | 只看该作者
本帖最后由 sqysl 于 2019-11-14 16:30 编辑
sxq129601 发表于 2019-11-13 17:00
processor       : 55vendor_id       : GenuineIntelcpu family      : 6model           : 79model name  ...

哦,应该是参数有问题了。
kernel.shmall = 4194304 改为 8388608,或更大的值试试。
这个参数设置系统可用共享内存段的总大小(4kb)。



使用道具 举报

回复
论坛徽章:
5
2014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02优秀写手
日期:2014-10-22 06:00:13秀才
日期:2016-12-21 16:55:07秀才
日期:2017-08-18 11:06:45
53#
 楼主| 发表于 2019-12-2 11:05 | 只看该作者
后来解决办法只能把实例一的数据库SGA改小,然后创建实例三。linux的系统缓存有时候也真是比较麻烦,都不释放,服务器是不可能重启的,刷新系统缓存风险又太大。

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
54#
发表于 2019-12-2 11:36 | 只看该作者
sxq129601 发表于 2019-12-2 11:05
后来解决办法只能把实例一的数据库SGA改小,然后创建实例三。linux的系统缓存有时候也真是比较麻烦,都不释 ...

重点是开发者认为这个功能不重要.
你可以自己下载vmtouch,nocache,自己编译.

http://blog.itpub.net/267265/viewspace-2147398/
http://blog.itpub.net/267265/viewspace-2665523/

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
55#
发表于 2019-12-2 11:40 | 只看该作者
lfree 发表于 2019-12-2 11:36
重点是开发者认为这个功能不重要.你可以自己下载vmtouch,nocache,自己编译.http://blog.itpub.net/267265/v ...

还有1种就是filesystemio_options=setall.这样对于数据文件不会使用缓存.
我仅仅知道许多dba对于存储好,带大量用户的情况喜欢这样设置,对于文件型数据库.
这样的情况你可以设置sga大一些.

使用道具 举报

回复
论坛徽章:
5
2014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02优秀写手
日期:2014-10-22 06:00:13秀才
日期:2016-12-21 16:55:07秀才
日期:2017-08-18 11:06:45
56#
 楼主| 发表于 2019-12-2 16:45 | 只看该作者
lfree 发表于 2019-12-2 11:36
重点是开发者认为这个功能不重要.你可以自己下载vmtouch,nocache,自己编译.http://blog.itpub.net/267265/v ...

这个厉害了,一般正常的生产环境都是建好实例,打好补丁完部署或导入数据。像我那样的边缘系统才会不断建立实例吧,可能也是不规范导致的后果。

使用道具 举报

回复
论坛徽章:
5
2014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02优秀写手
日期:2014-10-22 06:00:13秀才
日期:2016-12-21 16:55:07秀才
日期:2017-08-18 11:06:45
57#
 楼主| 发表于 2019-12-2 16:47 | 只看该作者
lfree 发表于 2019-12-2 11:40
还有1种就是filesystemio_options=setall.这样对于数据文件不会使用缓存.我仅仅知道许多dba对于存储好,带大 ...

如果在SGA实在不够的情况下,可以尝试下,但服务器都是HDD,看情况吧

使用道具 举报

回复

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

本版积分规则 发表回复

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