在SOLARIS *** 作系统中,如何设置共享内存,怎样算出shmmax的大小

在SOLARIS *** 作系统中,如何设置共享内存,怎样算出shmmax的大小,第1张

因为信号量是全局 *** 作系统资源,所以配置将会与主机上运行的所有进程相关,而不是只与 HADB 相关。在 Solaris 中,通过编辑/etc/system 文件来配置信号量设置。

以 root 用户身份登录。

配置共享内存。

设置 shminfo_shmmax,该参数指定主机上单个共享内存段的最大大小。将此值设置为 HADB 主机上安装的 RAM 的总容量,以十六进制值表示,但不能大于 2 GB。

例如,对于 2 GB RAM,在 /etc/system 文件中将该值设置如下:

set shmsys:shminfo_shmmax=0x80000000

注 –

要确定主机的内存,请使用以下命令:

prtconf | grep Memory

在 Solaris 8 或更低版本中,设置 shminfo_shmseg,即一个进程最多可以附加的共享内存段数。将该值设置为每台主机节点数的六倍。对于每台主机最多有六个节点的情况,请向 /etc/system 文件中添加以下内容:

set shmsys:shminfo_shmseg=36

在 Solaris 9 和更高版本上,shmsys:shminfo_shmseg 是过时的属性。

设置 shminfo_shmmni,即整个系统中共享内存段的最大数目。因为每个 HADB 节点分配六个共享内存段,所以 HADB 所需的值至少必须为每台主机节点数的六倍。在 Solaris 9 中,对于每台主机最多有六个节点的情况,不需要更改默认值。

配置信号量。

检查 /etc/system 文件是否包含以下信号量配置条目,例如:

set semsys:seminfo_semmni=10

set semsys:seminfo_semmns=60

set semsys:seminfo_semmnu=30

如果存在这些条目,请按如下所示增大这些值。

如果 /etc/system 文件不包含这些条目,请将它们添加到该文件的结尾:

设置 seminfo_semmni,即信号量标识符最大数目。每个 HADB 节点需要一个信号量标识符。在 Solaris 9 中,对于每台主机最多有六个节点的情况,不需要更改默认值。例如:

set semsys:seminfo_semmni=10

设置 seminfo_semmns, 即整个系统中信号量的最大数目。每个 HADB 节点需要八个信号量。在 Solaris 9 中,对于每台主机最多有六个节点的情况,不需要更改默认值。

ulimit -a 用来显示当前的各种用户进程限制。

系统限制其最大进程数设为10000个:

ulimit -u 10000

对于需要做许多 socket 连接并使它们处于打开状态的 Java 应用程序而言,最好通过使用 ulimit -n xx

修改每个进程可打开的文件数,缺省值是 1024。

ulimit -n 4096 将每个进程可以打开的文件数目加大到4096,缺省为1024

其他建议设置成无限制(unlimited)的一些重要设置是:

数据段长度:ulimit -d unlimited

最大内存大小:ulimit -m unlimited

堆栈大小:ulimit -s unlimited

CPU 时间:ulimit -t unlimited

虚拟内存:ulimit -v unlimited


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11237781.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存