灵魂腐蚀 发表于 2015-1-18 11:38:51

Linux制作之Linux上SGA的最年夜巨细仓酷云

vim除非你打算真正的学好linux,或者说打算长久时间学习他,而且肯花大量时间vim,否则,最好别碰
在Linux上,全体SGA巨细被限定为2G,有多种办法能够为SGA分派更多的内存,可是最牢靠和天真的办法必要利用到共享内存文件,如在RHEL2.1下的shmfs或RHEL3、4、5下的ramfs,本文形貌在RedHat企业版Linux和它的克隆版本上创立十分年夜的高速缓存的办法。

RedHat企业版Linux(RHEL)2.1
创立一个共享内存文件体系(shmfs)
shmfs是一个内存文件体系,因而它能够与RedHatLinuxAS2.1撑持的假造内存的最年夜巨细一样年夜,固然实际上企业版内核撑持凌驾64GB内存,但今朝最年夜是16GB。
shmfs是root用户利用上面的命令创立的:
mount-tshmshmfs-osize=3g/dev/shm
经由过程在/etc/fstab中增加上面一行,共享内存文件体系能够被主动挂载:
shmfs/dev/shmshmsize=3g00
在下面的例子中,我创立了一个3G巨细的shmfs,也是我企图利用的高速缓存的巨细,SGA的其他组件放在惯例内存中,而不是这个共享内存文件体系中,因而在思索shmfs的巨细时不要将它们包含出去了,比实践必要的巨细要略微年夜一点,本例中我利用3Gshmfs作为高速缓存。

开启年夜页面撑持
在/boot/grub/grub.conf文件中增加bigpages=xMB到相干的内核条目厥后开启年夜页面撑持,这里的x象上面如许盘算:
总SGA巨细(单元G)*1024
然后环绕这个值取整百,因而一个4G巨细的SGA,我们做上面的盘算:
4*1024=4096=4100
因而/boot/grub/grub.conf文件条目看起来就是:
kernel/vmlinuz-2.4.9-e.40enterpriseroroot=/dev/cciss/c0d0p2bigpages=4100MB
保留后应当重启体系,然后你必需作为root用户实行上面的命令:
echo2>/proc/sys/kernel/shm-use-bigpages
你能够间接在/etc/sysctl.conf文件中增加一行让这个值流动上去:
kernel.shm-use-bigpages=2

RedHat企业版Linux(RHEL)3、4和5
挂载ramfs文件体系,并确认它对oracle是可用的
umount/dev/shm
mount-tramfsramfs/dev/shm
chownoracle:oinstall/dev/shm
将这些命令增加到/etc/rc.local文件中,和RHEL2.1的办法一样,只要高速缓存存储在这个地位。
由于Oracle会为共享池锁住共享内存,我们必需在/etc/security/limits.conf中调剂memlock参数,memlock以Kb为单元举行暗示的,因而关于一个2G巨细的共享池,我们最少必要(2*1024*1024=2097152),以下所示:
oraclesoftmemlock2097152
oraclehardmemlock2097152
实践上,最好略微比这个数值年夜一点。

设置SHMMAX值
关于32位架构,shmmax值应当设置为物理内存的一半,最年夜值为4294967295,关于一个有6G内存的服务器,我们能够作为root用户利用上面的命令将这个值设为3G(物理内存的一半):
echo3221225472>/proc/sys/kernel/shmmax
别的还能够设置在/etc/sysctl.conf文件中:
kernel.shmmax=3221225472
你的/etc/sysctl.conf文件看起来应当象上面如许:
kernel.shmmax=3221225472
kernel.shmmni=4096
kernel.shmall=2097152
kernel.sem=100032000100150
fs.file-max=65536
net.ipv4.ip_local_port_range=102465000
kernel.shm-use-bigpages=2
修正/etc/sysctl.conf文件后,利用上面的命令使用而无需从头启动体系:
/sbin/sysctl-p

实例参数
必需修正一些实例参数以同意oracle实例利用共享内存文件体系,在处于运转中的实例上可使用altersystemset命令或离线修正spfile文件操纵spfile参数,:
--Changetheparametervalueinthespfiledirectly.
ALTERSYSTEMSETparameter=valueSCOPE=spfile--Createapfilewiththecontentsofthecurrentspfile.
CREATEPFILE="/tmp/pfile"FROMSPFILE;
--Manuallymanipulatethecontentsofthepfile.
--Recreatethespfilefromtheamendedpfile.
CREATESPFILEFROMPFILE="/tmp/pfile";
上面的参数应当被增加到spfile或pfile中:
use_indirect_data_buffers=true
同时,一切触及到db_cache_size和db_xK_cache的参数都应当被移除,利用旧版本作风的db_blcok_buffers参数条目取代:
#3Gigforan8Kdb_block_size.((3*1024*1024)/8)=393216
db_block_buffers=393216
这意味着利用这类办法时多半据块巨细特性将不成用,记着高速缓存仅仅是SGA的一部分。

在这里你会学到更多的知识,学习linux,更要学习一种geek的精神,python之禅中也说过:以总结分享为荣,以跪求其解为耻;

变相怪杰 发表于 2015-1-21 11:53:13

把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。

仓酷云 发表于 2015-1-23 23:27:14

我学习Linux的心得体会 ,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。

第二个灵魂 发表于 2015-1-25 21:25:41

应对Linux的发展历史和特点有所了解,Linux是抢占式多任务多用户操作系统,Linux最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具。

若天明 发表于 2015-1-26 19:39:39

熟悉操作是日常学习Linux中的三大法宝。以下是作者学习Linux的一些个人经验,供参考:

山那边是海 发表于 2015-2-2 22:30:00

学习Linux,应该怎样学,主要学些什么,一位Linux热心学习者,一段学习Linux的风云经验,历时十二个小时的思考总结,近十位网络Linux学习者权威肯定,为您学习Linux指明方向。

因胸联盟 发表于 2015-2-7 03:38:51

清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。

admin 发表于 2015-2-20 04:49:11

一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。

爱飞 发表于 2015-2-26 11:13:46

一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。

不帅 发表于 2015-2-26 17:52:33

请问谁有Linux的学习心得的吗?简单的说说?

小女巫 发表于 2015-3-7 04:14:37

如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。

老尸 发表于 2015-3-12 22:26:56

选择一些适于初学者的Linux社区。

愤怒的大鸟 发表于 2015-3-28 21:24:42

熟读写基础知识,学得会不如学得牢。

海妖 发表于 2015-4-1 00:10:53

另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。

飘灵儿 发表于 2015-4-6 07:50:49

随着Linux技术的更加成熟、完善,其应用领域和市场份额继续快速增大。目前,其主要应用领域是服务器系统和嵌入式系统。然而,它的足迹已遍布各个行业,几乎无处不在。

透明 发表于 2015-4-11 00:31:21

以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。

冷月葬花魂 发表于 2015-4-19 20:53:00

任何人都可以根据自己的喜好来定制适合自己的操作系统,Linux?是抢占式多任务多用户操作系统.

分手快乐 发表于 2015-5-1 06:57:32

其中不乏很多IT精英的心血。我们学透以后更可以做成自己的OS!?

蒙在股里 发表于 2015-5-1 10:10:29

对Linux命令熟悉后,你可以开始搭建一个小的Linux网络,这是最好的实践方法。Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。

再现理想 发表于 2015-6-4 08:19:21

再次,Linux是用C语言编写的,我们有学习C语言的基础,读程序和编写代码方面存在的困难小一点,也是我们能较快掌握的原因之一。?
页: [1]
查看完整版本: Linux制作之Linux上SGA的最年夜巨细仓酷云