|
- [root@rac01 ~]# cat /etc/sysctl.conf | grep kernel.shmmax
- kernel.shmmax = 20971520
- [root@rac01 ~]# ipcs -sa
- ------ Shared Memory Segments --------
- key shmid owner perms bytes nattch status
- 0x00000000 65537 oracle 640 4194304 27
- 0x00000000 98306 oracle 640 20971520 27
- 0x00000000 131075 oracle 640 20971520 27
- 0x00000000 163844 oracle 640 20971520 27
- 0x00000000 196613 oracle 640 20971520 27
- 0x00000000 229382 oracle 640 20971520 27
- 0x00000000 262151 oracle 640 20971520 27
- 0x00000000 294920 oracle 640 20971520 27
- 0xd2776b04 327689 oracle 640 20971520 27
- ------ Semaphore Arrays --------
- key semid owner perms nsems
- 0xfafd7074 360449 oracle 640 104
- ------ Message Queues --------
- key msqid owner perms used-bytes messages
-
- 因为kernel.shmmax设置过小,导致分配了多个共享内存段
- 下边改大一些:
- [root@rac01 ~]# cat /etc/sysctl.conf | grep kernel.shmmax
- kernel.shmmax = 2147483648
- [root@rac01 ~]# sysctl -p
- [root@rac01 ~]# su - oracle
- [oracle@rac01 ~]$ export ORACLE_SID=myrac1
- [oracle@rac01 ~]$ sqlplus '/as sysdba'
- SQL*Plus: Release 10.2.0.1.0 - Production on Mon Nov 16 05:50:00 2009
- Copyright (c) 1982, 2005, Oracle. All rights reserved.
- Connected to:
- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
- With the Partitioning, Real Application Clusters, Oracle Label Security, OLAP
- and Data Mining Scoring Engine options
- SQL> startup force
- ORACLE instance started.
- Total System Global Area 167772160 bytes
- Fixed Size 1218316 bytes
- Variable Size 104859892 bytes
- Database Buffers 58720256 bytes
- Redo Buffers 2973696 bytes
- Database mounted.
- Database opened.
- SQL> quit
- Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
- With the Partitioning, Real Application Clusters, Oracle Label Security, OLAP
- and Data Mining Scoring Engine options
- [oracle@rac01 ~]$ exit
- logout
- 再看一下:
- [root@rac01 ~]# ipcs -sa
- ------ Shared Memory Segments --------
- key shmid owner perms bytes nattch status
- 0xd2776b04 360449 oracle 640 171966464 27
- ------ Semaphore Arrays --------
- key semid owner perms nsems
- 0xfafd7074 491521 oracle 640 104
- ------ Message Queues --------
- key msqid owner perms used-bytes messages
- 只有一个内存段分配了
复制代码
对于性能的影响,其实就跟磁盘的碎片一个道理,碎片越多,性能越低,但是普通的操作看不出差别,经常整理碎片的人应该更能理解这个问题吧!
另外上边的
0x00000000 65537 oracle 640 4194304 27
0x00000000 98306 oracle 640 20971520 27
也能回答楼主的对于1.2G是否会分配2G的问题了,1.2G还是1.2G,只不过一个没分那么大而已. |
|