对于单独的进程,pmap命令报告单独进程的内存空间布局情况(-x选项比较有用) 。
3.3. 优先内存页面调度
优先内存页面调度是在Solaris 7操作环境引入的,并被向后移植到了Solaris 2.6操作环境(内核补丁105181-XX)和Solaris 2.5.1操作环境(内核补丁103640-XX) 。这两个补丁的最近版本可以在SunSolve Online[sm]找到 。
优先内存页面调度提供了一种改进的页面调度算法,从而在文件系统被使用的时候可以明显地改善系统的响应速度 。优先内存页面调度引入了一个新增加的名词,cachefree 。页面调度参数现在有这些:
minfree < desfree < lotsfree < cachefree
缺省情况下这个新功能在Solaris 2.5.1, 2.6, 和7操作环境下是关闭的,所以在有明显频繁内存调度的系统上允许这个功能就很重要 。当priority_paging没有被允许的时候,cachefree被置为与lotsfree一样 。当它被允许的时候,缺省情况下cachefree被设置为lotsfree的2倍 。
调整这个参数趋于使工作站系统上窗口间切换起来更快,这对于需要从文件系统中把大文件读入内存的运行数据库的系统是很大的帮助 。在通过文件系统执行大量I/O操作的系统上,对于拥有大量数据集的计算密集型任务,百分之几百的速度提高都曾经有过 。
Solaris 8操作环境采用了一种不同的算法,消除了以前版本中页面扫描程序必须扫描内存以供给segmap驱动程序来存放I/O的限制因素 。segmap不再需要的所有内存页面都被放到一个可以立即重用的链表中 。不要在Solaris 8操作环境中设置priority_paging 。并且,Solaris 8操作环境应该不需要手工调整虚拟内存参数,除了在大系统中把fastscan和maxpgio设置到高一些的值会有益 。
更多关于优先内存页面调度的信息,请参考下面这些:
Sun性能、优先内存页面调度FAQ
文档17946: 在2.5.1 中针对优先内存页面调度的新的内核可调整项
3.4. 隐私的共享内存(ISM-Intimate Shared Memory)
ISM使得共享内存被锁在内存中,不能被换出(page out) 。原本在一般情况下仅为单独进程创建的内存管理数据结构在一次性创建后就被所有进程共享 。在Solaris 2.6操作环境下,还存在进一步的优化,内核试图寻找可以作为大的内存页面被用来映射共享内存的连续的4-Mbyte物理内存块 。这大大降低了内存管理单元的开销 。(请看性能与调整——Java[tm]与Internet(Performance and Tuning - Java[tm] and the Internet)的333页 。)缺省情况下,类似Oracle、Informix、Sybase这样的应用程序使用一个特殊的标志来表明它们希望使用ISM 。
ISM是一个关于虚拟内存实现方面,使得内核与硬件资源的使用更为有效的很重要的优化 。并且,ISM提供了把频繁用到的共享内存页面锁在内存中的方法 。
在缺省情况下ISM是被允许的,不需要编辑/etc/system文件来打开这个特性 。在具有当前补丁级别的内核上,关闭ISM会导致系统性能降级并且可能会挂起 。而且在数据库的配置文件中,比如Oracle的init.ora文件中,不应该有use_ism=false,因为这样会关闭ISM 。
3.5. 与共享内存有关的交换空间设置
想要理解与共享内存有关的交换空间配置,请看Adrian Cockcroft写的"清除在交换空间方面的混乱理解(Clearing Up Swap Space Confusion)" 。
在设置交换空间大小的时候有两个主要的考虑,就是要有足够的:
内存,以避免在普通操作的时候就产生内存交换
交换空间,能够放下一次崩溃记录(crash dump)
3.6. 进程间通信(IPC)的参数
以下IPC参数值需要你的数据库系统管理员(DBA)确定 。Sun解决方案中心不能给出实际IPC参数设置应该是怎样的建议 。这些值依赖于应用程序 。
推荐阅读
- 离婚与无效婚姻的区别主要是什么
- 968的优点与不足----优点
- Solaris 系统概念
- Xinetd 在 Solaris 8 安装配置过程
- Sun 的PROM状态命令与参数
- Solaris 安装GCC编译器
- 骑马与砍杀2精炼钢怎么获得
- Sun Solaris 用户手册 -- 九. 数据备份和传输工具
- Solaris Net Install SUNOS
- 酱香型白酒和浓香型白酒的区别 酱香型白酒与浓香型白酒有什么区别
