Removing Shared Memory - Red Hat ENTERPRISE LINUX 5.1 - LINUX ORACLE Tuning Manual

Oracle 9i and 10g tuning guide
Table of Contents

Advertisement

system is 2097152*4096 bytes (shmall*PAGE_SIZE) which is 8 GB. PAGE_SIZE is usually 4096
Chapter 14, Large Memory Optimization, Big Pages, and Huge Pages
bytes unless you use
supports the configuration of larger memory pages.
If you are not sure what the default PAGE_SIZE is on your Linux system, you can run the following
command:
$ getconf PAGE_SIZE
4096
To determine the system wide maximum number of shared memory pages, run:
# cat /proc/sys/kernel/shmall
2097152
The default shared memory limit for SHMALL can be changed in the proc file system without reboot:
# echo 2097152 > /proc/sys/kernel/shmall
Alternatively, you can use sysctl(8) to change it:
# sysctl -w kernel.shmall=2097152
To make the change permanent, add the following line to the file /etc/sysctl.conf. This file is
used during the boot process.
# echo "kernel.shmall=2097152" >> /etc/sysctl.conf

7.4. Removing Shared Memory

Sometimes after an instance crash you may have to remove Oracle's shared memory segments
manually.
To see all shared memory segments that are allocated on the system, execute:
$ ipcs -m
------ Shared Memory Segments --------
key
shmid
0x8f6e2129 98305
0x2f629238 65536
0x00000000 32768
In this example you can see that three shared memory segments have been allocated. The output
also shows that shmid 32768 is an abandoned shared memory segment from a past ungraceful Oracle
shutdown. Status "dest" means that this memory segment is marked to be destroyed. To find out
more about this shared memory segment you can run:
$ ipcs -m -i 32768
Shared memory Segment shmid=32768
uid=500 gid=501 cuid=500 cgid=501
mode=0640 access_perms=0640
owner
perms
oracle
600
oracle
640
oracle
640
bytes
nattch
77694523
0
2736783360 35
2736783360 0
Removing Shared Memory
which
status
dest
17

Advertisement

Table of Contents
loading

Table of Contents