HP-UX swap相关:
http://blog.163.com/xjming487@126/blog/static/212951352008999243171/
下面的信息全部摘自网络。
第一部分 伪交换
要理解伪交换,首先得清楚交换区的概念和HP-UX的交换机制!
交换区,就是系统物理内存不足时,OS用来临时存放物理内存的的一部分数据,从而腾出更多的物理内存空间!
HP-UX的交换机制:系统每启动一个进程,都会在交换区预留一定的空间(等同于该进程使用物理内存的大小),以防内存不足时,有足够的交换区来临时存放数据,但不一定真正使用。但是交换区预留以后,不管是不是真的被使用,就不能再被其它进程预留(使用),除非该进程运行完毕自然释放。打个比方,酒店里客人预定了座位,那么这个座位就不能再接受别人的预定,除非客人打电话取消预定。当然,即使客人预定了不代表就一定来吃。和交换区预留不一样的是:座位预定了通常客人是要来真正使用的,而交换区预留以后通常是不使用的。
这种机制会导致的一个问题是:如果内存很大,可能会导致内存浪费!为什么呢?假设系统物理内存是8G,那么按照常规的设置,交换区大小是内存的1-2倍,就是8-16G!但是,通常的情况是,购买了大内存,就是为了避免内存不足产生交换,这种状况下,交换区是很少有机会做真正的数据交换的。有些客户会把交换区设为4G或者更少到2G(这完全有可能;节省存储空间啊)!后果是,随着新进程的不断启动,当交换区被预留完了以后,系统就不能再启动新的进程;而此时其实物理内存可能还有3G或者更多的空余,却什么也不能干了!
为了解决这个矛盾,HP-UX推出“伪交换区”的概念!就是当系统启用伪交换以后,系统会默认为交换区的总数=物理内存的75%+其它交换区的总数。而这个75%的伪交换区其实是不存在的(欺骗):不在内存、不在硬盘或者任何文件系统中。意思就是说,当真正的交换区用光了还要启动新进程时,告诉系统,我的交换区还多着呢,该启动谁尽管启动......
是否启用伪交换,可以通过系统内核参数swapmem_on来设置,1表示启用,0表示不启用。通常,实际交换区的大小大于或等于物理内存大小时,这个参数启不启用没什么影响;否则建议启用伪交换。
但是,注意有些应用程序(很少),当启用伪交换时,性能可能会下降!
第二部分 相关命令
# swapinfo
-t 增加类型的总计行
-m 以兆字节为单位
-d 只显示设备交换区的信息
-f 只显示文件系统交换区的信息
-q 安静模式,只打印一个总kb avail
swapinfo -atm
vmstat
vi /etc/fstab
bdf
sysdef|grep mem_on
sam 修改内核参数
----------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------
from:http://www.chinaunix.net/jh/7/2538.html
----------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------
hp-ux如何查看swap大小:
# swapinfo
-t 增加类型的总计行
-m 以兆字节为单位
-d 只显示设备交换区的信息
-f 只显示文件系统交换区的信息
-q 安静模式,只打印一个总kb avail
如果装了IGNITE工具包的话,用/opt/ignite/bin/print_manifest命令也可以看
1、dmesg,这个有时候可能看不到;
2、stm
3、sam
#machinfo