#swapinfo-atm
MbMbMbPCTSTART/Mb
TYPEAVAILUSEDFREEUSEDLIMITRESERVEPRINAME
dev862%0-1
/dev/vg00/lvol2
rerve-3120-3120
memory887%
total07993%-0-
swapinfo-systempagingspaceinformation
TYPE
dev:设备上的交换空间,通常为逻辑卷
fs:文件系统交换空间
localfs:本地磁盘上的文件系统交换空间
network:网络上的文件系统交换空间
rerve:预留的分页空间。这些分页空间能被正在运行的程序使用,但是还没有
被pageout上。
Memory:伪交换(pudo-swap)。表示在交换空间都被申请后,可以申请的空间。
它没有实体。不占用任何空间。在hpux11i.23后,初始值等于物理内存大小
PRI:优先级
NAME:所在位置。
-m:以Mb显示。
-t:加入total行。
-a:Showalldevicepagingareas,includingthoconfiguredintothekernelbut
currentlydisabled.
要理解伪交换,首先得清楚交换区的概念和HP-UX的交换机制!
交换区,就是系统物理内存不足时,OS用来临时存放物理内存的的一部分数据,从而腾出
更多的物理内存空间!
HP-UX的交换机制:系统每启动一个进程,都会在交换区预留一定的空间(等同于该进程
使用物理内存的大小),以防内存不足时,有足够的交换区来临时存放数据,但不一定真正
使用。但是交换区预留以后,不管是不是真的被使用,就不能再被其它进程预留(使用),
除非该进程运行完毕自然释放。
打个比方,酒店里客人预定了座位,那么这个座位就不能再接受别人的预定,除非客人打电
话取消预定。当然,即使客人预定了不代表就一定来吃。
和交换区预留不一样的是:座位预定了通常客人是要来真正使用的,而交换区预留以后通常
是不使用的。
这种机制会导致的一个问题是:如果内存很大,可能会导致内存浪费!为什么呢?
假设系统物理内存是8G,那么按照常规的设置,交换区大小是内存的1-2倍,就是8-16G!
但是,通常的情况是,购买了大内存,就是为了避免内存不足产生交换,这种状况下,交换
区是很少有机会做真正的数据交换的。有些客户会把交换区设为4G或者更少到2G(这完
全有可能;节省存储空间啊)!
后果是,随着新进程的不断启动,当交换区被预留完了以后,系统就不能再启动新的进程;
而此时其实物理内存可能还有3G或者更多的空余,却什么也不能!
为了解决这个矛盾,HP-UX推出“伪交换区”的概念!就是当系统启用伪交换以后,系统会
默认为交换区的总数=物理内存的75%+其它交换区的总数。而这个75%的伪交换区其实
是不存在的(欺骗):不在内存、不在硬盘或者任何文件系统中。意思就是说,当真正的交
换区用光了还要启动新进程时,告诉系统,我的交换区还多着呢,该启动谁尽管启动......
是否启用伪交换,可以通过系统内核参数swapmem_on来设置,1表示启用,0表示不启用。
通常,实际交换区的大小大于或等于物理内存大小时,这个参数启不启用没什么影响;否则
建议启用伪交换。
但是,注意有些应用程序(很少),当启用伪交换时,性能可能会下降!
本文发布于:2023-02-03 22:43:46,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/fan/88/184771.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |