當前位置:編程學習大全網 - 編程語言 - 如何設置LINUX的***享內存

如何設置LINUX的***享內存

我們可以修改shmmax內核參數,使SGA存在於壹個***享內存段中。

通過修改/proc/sys/kernel/shmmax參數可以達到此目的。

[root@neirong root]# echo 1073741824 > /proc/sys/kernel/shmmax

[root@neirong root]# more /proc/sys/kernel/shmmax

1073741824這裏設為1G。

對於shmmax文件的修改,系統重新啟動後會復位。可以通過修改 /etc/sysctl.conf 使更改永久化。

在該文件內添加以下壹行 kernel.shmmax = 1073741824 這個更改在系統重新啟動後生效.

1、設置 SHMMAX

SHMMAX

參數定義***享內存段的最大尺寸(以字節為單位)。在設置 SHMMAX 時,切記 SGA 的大小應該適合於壹個***享內存段。 SHMMAX 設置不足可能會導致以下問題:

ORA-27123:unable to attach to shared memory segment

您可以通過執行以下命令來確定 SHMMAX 的值:

# cat /proc/sys/kernel/shmmax

33554432

SHMMAX 的默認值是 32MB 。我壹般使用下列方法之壹種將 SHMMAX 參數設為 2GB :

通過直接更改 /proc 文件系統,妳不需重新啟動機器就可以改變 SHMMAX 的默認設置。我使用的方法是將以下命令放入 /etc/rc.local 啟動文件中:

# >echo "2147483648" > /proc/sys/kernel/shmmax

您還可以使用 sysctl 命令來更改 SHMMAX 的值:

# sysctl -w kernel.shmmax=2147483648

最後,通過將該內核參數插入到 /etc/sysctl.conf 啟動文件中,您可以使這種更改永久有效:

# echo "kernel.shmmax=2147483648" >> /etc/sysctl.conf

2、設置 SHMMNI

我們現在來看 SHMMNI 參數。這個內核參數用於設置系統範圍內***享內存段的最大數量。該參數的默認值是 4096 。這壹數值已經足夠,通常不需要更改。

您可以通過執行以下命令來確定 SHMMNI 的值:

# cat /proc/sys/kernel/shmmni

4096

3、設置 SHMALL

最後,我們來看 SHMALL ***享內存內核參數。該參數控制著系統壹次可以使用的***享內存總量(以頁為單位)。簡言之,該參數的值始終應該至少為:

ceil(SHMMAX/PAGE_SIZE)

SHMALL 的默認大小為 2097152 ,可以使用以下命令進行查詢:

# cat /proc/sys/kernel/shmall

2097152

SHMALL 的默認設置對於我們的 Oracle9 i RAC 安裝來說應該足夠使用。

註意: 在 i386 平臺上 Red Hat Linux 的 頁面大小 為 4096 字節。但是,您可以使用 bigpages ,它支持配置更大的內存頁面尺寸。

  • 上一篇:1.過程控制自動化的廠家. 2.過程控制自動化的廠家.
  • 下一篇:關於南昌教師資格證的培訓問題
  • copyright 2024編程學習大全網