[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[fol] Set the kernel parameters for shared memory


カーネルの書き方についてお伺いしたいのですが、

Oracle 8.1.7 for linux のインスールにおいて
----インストール ガイド--------------------
Linux Kernel Parameters:

Shared Memory

SHMMAX 0.5*(physical memory present in machine).

Check your system for additional restrictions.
This setting does not affect how much shared
memory is needed or used by Oracle8i or the
operating system. It is used only to indicate the
maximum allowable size. This setting also does
not impact operating system kernel resources.

SHMMIN 1
SHMMNI 100
SHMSEG 10

Semaphores

SEMMNI 100
SEMMSL Set to 10 plus the largest PROCESSES parameter
of any Oracle database on the system.
The PROCESSES parameter can be found in
each initsid.ora file, located in the
$ORACLE_HOME/dbs directory. The default
value of PROCESSES for the preconfigured
database created by Oracle Database
Configuration Assistant is 50.
SEMMNS Set to the sum of the PROCESSES parameter for
each Oracle database, adding the largest one
twice, then add an additional 10 for each
database. See "Configure the Linux Kernel for
Oracle8i" on page 2-4 for an example of this formula.
SEMOPM 100
SEMVMX 32767
--------ガイドおわり------------------------
この内容を以下のファイルの記述して、カーネル再構築
せよとあります。
/usr/src/linux/include/asm/shmparam.h
/usr/src/linux/include/linux/sem.h

そこで /usr/src/linux/include/asm/shmparam.h を

######メモリ256Mなので、256M x 0.5 =128M
     36 #define SHMMAX 0x128000000                /* max shared seg size (bytes) */
     37 /* Try not to change the default shipped SHMMAX - people rely on it */
     38
     39 #define SHMMIN 1 /* really PAGE_SIZE */ /* min shared seg size (bytes) */
     40 #define SHMMNI 100      /* max num of segs system wide */
     41 #define SHMALL                          /* max shm system wide (pages) */ \
     42         (1<<(_SHM_IDX_BITS+_SHM_ID_BITS))
     43 #define SHMLBA PAGE_SIZE                /* attach addr a multiple of this */
     44 #define SHMSEG 10                       /* max shared segs per process */
     45
     46 #endif /* _ASMI386_SHMPARAM_H */

/usr/src/linux/include/linux/sem.h を

     63 #define SEMMNI  100             /* ?  max # of semaphore identifiers */
     64 #define SEMMSL  100             /* <= 512 max num of semaphores per id */
     65 #define SEMMNS  200             /* ? max # of semaphores in system */
     66 #define SEMOPM  100             /* ~ 100 max num of ops per semop call */
     67 #define SEMVMX  32767           /* semaphore maximum value */

に変更してカーネル再構築しましたが、
データベースを起動すると、memory full
Enterprise Manager console が segmentaion fault になってしまいます。
カーネルパラメータがデフォルトのままだととりあえず、
データベースは起動できます。
パラメータの記述方法はこれでよいのでしょうか?
特に shared memory 箇所はあやしい。

使用したパッケージは Debian Potato
Kernel 2.2.17
Glibc 2.1.3
Hardware
Pentium III 800
RAM 256 M

長くなりましたが、宜しくお願いします。

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: