在/etc/system的IPC参数设置中拼错字是非常可能的 。这种错误会对应用程序带来严重的性能影响 。要检查拼写错误,遍历/var/adm/messages寻找这样形式的消息:
genUnix: [ID 492708 kern.notice] sorry, variable "seminfo_semopn"
is not defined in the "semsys"
这说明其中有一个拼写错误 。用Grep找"sorry" 。
Solaris 8操作环境比以前的版本改进了IPC参数的缺省值 。
对于Solaris 2.6操作环境之前的版本,共享内存需要更多的交换空间(也就是“后援空间”) 。用swap -l,将block数值除2就可以得到兆字节数 。应该有至少两倍于已分配共享内存(shmmax)的交换空间 。
这里是shmmax的缺省值和最大值:
缺省 最大
shmmax 1048576 (Meg) 4294967295 (4GB) 2.5.1, 2.6, 32位solaris 7
2147483647 (2GB) 2.5或更低
在Solaris 2.6操作环境下,shmmax和shmmin是无符号整型(32位) 。在Solaris 7操作环境下,"32位"的shmmax和shmmin是无符号整型(32位) 。在Solaris 7操作环境下,"64位"的shmmax 和shmmin是无符号长整型(64位) 。在所有情况下,shmmni和shmseg都是有符号整型(32位) 。表2汇总了这些命令和它们的类型 。
命令
Solaris 2.6
32位
Solaris 7
32位
Solaris 7
64位
shmmax
无符号整型
无符号整型
无符号长整型
shmmin
无符号整型
无符号整型
无符号长整型
shmmni
有符号整型
有符号整型
--
shmseg
有符号整型
有符号整型
--
表2: 命令类型
shmmax限值共享内存段的最大大小,这是shmget(2)所能请求的最大值 。它所控制的资源不是预先分配的,而是根据需要分配的 。
在Solaris 7和8环境下,64位突破了4-Gbyte的限制 。这个最大值是理论上的 。实际的设置需要根据象内存、数据库大小、系统配置这些系统资源来确定 。段的最大值本身(shmmax)是一个上限 。
附加资源
A. 源自SunSolve Online[sm]关于IPC的文章
关于IPC参数话题,Sun解决方案中心已经写了大量的文章 。这些文章可以在SunSolve Online[sm]获得 。(合同客户可以访问附加的相关出版物 。) 接下来是部分文章列表 。
如果对/etc/system文件的修改似乎没有起作用,请看文档12824: sysdef -i 不报告设置在/etc/system中的IPC参数 。
关于IPC参数的一般信息:
文档6328: 在2.X中所有关于共享内存参数的信息
文档2270: 理解信号灯、seminfo_信号灯信息
文档12075: 如何在你的系统中配置IPC信号灯和共享内存
文档5288: 如何通过adb确定IPC参数值
文档2273: 针对消息队列的内核调整参数
文档7241: 确定消息队列参数
关于调试问题:
文档12174: 怎样检查系统使用了多少共享内存
文档16985: 一个使用共享内存的进程已经终止,但是交换空间似乎没有被回收
B. SUN性能信息
The Sun Performance page提供了各种资源 。
SunWorld在线专栏 1995-1999
Cockcroft, Adrian和Richard Pettit, SUN性能与调整——Java[tm]与Internet(Sun Performance and Tuning - Java[tm] and the Internet), Sun Microsystems Press, 1998. 这是一本有用的书,其中介绍的原则经受了时间的考验 。不过很多内容在应用到当前的系统时需要带一点怀疑地去看待 。
Garg, Rajat和Ilya Sharapov, 优化应用程序的技巧:高性能计算(Techniques for Optimizing Applications: High Performance Computing), Sun BluePrints, 2001. 这本书是在基于Sun UltraSPARC技术的平台上对计算密集型程序进行性能优化的实用指导,对于理解应用程序如何利用系统资源会有帮助 。
Mauro, Jim和Richard McDougall, Solaris内部,核心内核架构(Solaris Internals, Core Kernel Architecture), Sun Microsystems Press, 2001. 这本书被认为是关于Solaris操作环境内部工作非常优秀的深入指南 。
推荐阅读
- 离婚与无效婚姻的区别主要是什么
- 968的优点与不足----优点
- Solaris 系统概念
- Xinetd 在 Solaris 8 安装配置过程
- Sun 的PROM状态命令与参数
- Solaris 安装GCC编译器
- 骑马与砍杀2精炼钢怎么获得
- Sun Solaris 用户手册 -- 九. 数据备份和传输工具
- Solaris Net Install SUNOS
- 酱香型白酒和浓香型白酒的区别 酱香型白酒与浓香型白酒有什么区别
