AIX paging space过分的分析与解决Word文件下载.docx

上传人:b****5 文档编号:20784458 上传时间:2023-01-25 格式:DOCX 页数:13 大小:86.08KB
下载 相关 举报
AIX paging space过分的分析与解决Word文件下载.docx_第1页
第1页 / 共13页
AIX paging space过分的分析与解决Word文件下载.docx_第2页
第2页 / 共13页
AIX paging space过分的分析与解决Word文件下载.docx_第3页
第3页 / 共13页
AIX paging space过分的分析与解决Word文件下载.docx_第4页
第4页 / 共13页
AIX paging space过分的分析与解决Word文件下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

AIX paging space过分的分析与解决Word文件下载.docx

《AIX paging space过分的分析与解决Word文件下载.docx》由会员分享,可在线阅读,更多相关《AIX paging space过分的分析与解决Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。

AIX paging space过分的分析与解决Word文件下载.docx

命令lsps-a可以用来查看PagingSpace的分布情况

回页首

2文件型内存对PagingSpace使用率的影响

在AIX系统中,内存可以简单的分为两类:

计算型内存和文件型内存。

类似大量文件类操作,如压缩、数据库的dump/load等操作会大量占用文件型内存。

如果按照系统缺省的配置,文件型内存最多会占用到内存总量的80%,由于文件型内存占用并不主动释放,从而可能造成内存资源的短缺及PagingSpace使用率过高。

命令topas可以用来查看文件型内存占用内存情况,在MEMORY一栏中的%Noncomp显示的是文件型内存的占用百分比。

如果文件型内存所占比例很高,而PagingSpace使用率居高不下时,可以通过降低minperm、maxperm的参数值来进行调优,减少文件型内存可占用的份额。

在进行调整前,首先通过命令vmo-a/vmtune-a来查看目前的参数值;

minperm及maxperm的缺省值分别是30%和80%。

随后根据当前的值来确定minperm、maxperm新的参数值,并通过命令vmo及参数p和P来进行设定。

如需将minperm、maxperm的值分别设为15%和30%可用命令vmo-p15-P30来实现。

因为参数maxperm充当的是软限制,所以文件型内存的占用率依旧可以超过maxperm的设定值。

如果需要进行强制限制,则需要将参数strict_maxperm的值设为1,该参数的缺省值为0,但此方法需谨慎使用。

3应用程序内存泄露对PagingSpace使用率的影响

应用程序的内存泄露也是造成PagingSpace使用率不断增长的另一常见原因,此类情况的解决方法主要是找出内存泄露的应用,然后进行修正或安装补丁。

以下方法可用来找出发生内存泄露的应用:

该命令每m秒钟按降序列出前n个最耗内存进程。

为了便于分析,可以将结果输出到文件中,然后对内容进行分析,从而找出内存泄露的应用。

下例中命令svmon-P-t10-i5的结果被输出到文件svmonresult.txt中,该命令每5秒种输出一次最耗内存的前10个进程。

找出发生内存泄露的应用后可自行进行修正或查找相关的补丁进行安装。

4数据库参数配置对PagingSpace使用率的影响

在装有数据库的系统环境中,数据库相关参数的设置不当也容易造成PagingSpace的占用率过高。

以DB2为例,因为DB2使用自己的缓冲池进行数据缓存,所以其所能占用的内存量不受参数maxperm的控制,而是由自身的参数值来决定。

数据库占用的内存过多并且不及时释放的话同样会造成PagingSpace使用率的持续增长乃至耗尽,本节中采用DB2的设置为例来对此类情况进行说明。

就PagingSpace使用率而言,DB2的相关参数中需要特别关注的有DB2MEMDISCLAIM、DB2MEMMAXFREE、NUM_POOLAGENTS、ESTORE_SEG_SZ及NUM_ESTORE_SEGS。

其中DB2MEMDISCLAIM、DB2MEMMAXFREE、NUM_POOLAGENTS与DB2中代理的私有内存相关,而ESTORE_SEG_SZ、NUM_ESTORE_SEGS则决定扩展缓冲池的大小。

AIX中,注册变量DB2MEMDISCLAIM指明当程序停止时DB2UDB是否应该释放其占用的全部或部分内存。

DB2MEMDISCLAIM保持缺省值YES,则在DB2MEMMAXFREE的值为空时,程序结束后释放所有相关内存,否则只保留DB2MEMMAXFREE值大小的内存量,该值缺省为8M。

如果DB2MEMDISCLAIM的值被改为NO,则程序结束后内存不会被释放。

NUM_POOLAGENTS指定了DB2中可以保留的空闲代理的最大数目,如果该值过大,将会有大量的内存被空闲代理占用。

如NUM_POOLAGENTS的值为125,DB2MEMMAXFREE的值为8M,在DB2MEMDISCLAIM为YES时将最多有约1G的内存被空闲代理占用。

因此,当PagingSpace使用率偏高时,可以尝试查看DB2MEMDISCLAIM、DB2MEMMAXFREE、NUM_POOLAGENTS的值来确保没有过多的内存被DB2代理所占用。

如果空闲代理占用内存太多,则需要调整DB2MEMMAXFREE、NUM_POOLAGENTS的值来削减。

DB2MEMDISCLAIM、DB2MEMMAXFREE的值可用db2set命令来查看和设定;

NUM_POOLAGENTS的值则可以通过以下步骤来查看和修改:

DB2中除了主缓冲池之外还经常用到扩展缓冲池,扩展缓冲池的大小也是决定内存使用量的一个重要因素。

扩展缓冲池(EXTENDEDSTORAGE)充当的是缓冲池中被换出页的辅助缓存,它的存在可以减少I/O操作,提高查询速度。

通常扩展缓冲池占用的内存不会主动释放,因此如果扩展缓冲池过大,随着时间的增加、缓冲池占用的内存量的不断增长,有相当大的可能造成内存资源的短缺、PagingSpace使用率过高。

扩展缓冲池的大小是由参数ESTORE_SEG_SZ、NUM_ESTORE_SEGS共同决定的,通过以下命令可以查看它们的值:

扩展缓冲池最多占用内存的计算方式如下:

假如系统中共有3个配置相同的DB,ESTORE_SEG_SZ的值为16000,NUM_ESTORE_SEGS的值为65,页面大小为4K,则扩展缓冲池最多可占用的内存为:

ESTORE_SEG_SZ、NUM_ESTORE_SEGS的参数值设定可以通过如下命令来实现:

DB2中还有其他一些参数决定着内存的使用情况,但是当发现内存占用后不释放的情况时,可以考虑首先查看本节中提到的相关参数。

对于其他的数据库,同样也需要注意一些类似参数值的设置,避免造成对内存的过量占用,从而造成对系统整体性能的影响。

5结束语

文中针对AIX中PagingSpace使用率过高的问题,分别从文件型内存、应用程序内存泄露和数据库参数配置三个方面进行了分析,并给出了相关的解决方法。

AIX操作系统中PagingSpace是很重要的设备,当系统中PagingSpace使用率过高、系统内存不足时,

将影响系统的整体性能,甚至会造成系统的挂起。

针对这种情况,通常可以靠增加PagingSpace来加

以缓解;

但是当PagingSpace已经相当大,而PagingSpace使用率仍旧居高不下时,则需要通过进一

步的分析来找出原因并加以解决。

文中分析了几种PagingSpace使用率持续增长直至过高的常见原因,

并给出了相应的解决方案,以确保PagingSpace使用率被控制在安全的范围内。

系统实际内存小于64MB,pagingspace=2*RAM;

系统实际内存在64MBto256MB之间,PageSpace=RAMsize+16MB;

系统实际内存大于256MB,PageSpace=512+(RAM-256)*1.25;

当内存超过4GB时,则需要根据实际情况来定,一般可初始3GB,然后观察pagingspace的使用情况,如果使用率超过70%,则需要增加pagingspace或把OS中的min_perm%,max_perm%和max_client%参数调小一点

创建的数量应尽可能的多;

每个PagingSpace的大小应该相同;

每个PagingSpace应尽可能的分配在不同的硬盘上。

eg:

#lsps-s

TotalPagingSpace 

PercentUsed

16384MB 

1%

#lsps-a

PageSpace 

PhysicalVolume 

VolumeGroup 

Size%UsedActive 

Auto 

Type

hd6 

hdisk0 

rootvg 

yes 

lv

类似大量文件类操作,如压缩、

数据库的dump/load等操作会大量占用文件型内存。

如果按照系统缺省的配置,文件型内存最多会占

用到内存总量的80%,由于文件型内存占用并不主动释放,从而可能造成内存资源的短缺及PagingSpace

使用率过高。

TopasMonitorforhost:

hostname 

EVENTS/QUEUES 

FILE/TTY

FriJul3113:

15:

392009 

Interval:

Cswitch 

1489 

Readch 

2896.8K

Syscall 

7341 

Writech 

17338

Kernel 

1.2 

|# 

Reads 

327 

Rawin 

0

User 

18.0 

|###### 

Writes 

13 

Ttyout 

373

Wait 

13.4 

|#### 

Forks 

Igets 

Idle 

67.5 

|#################### 

Execs 

Namei 

33

Runqueue 

1.5 

Dirblk 

Network 

KBPS 

I-Pack 

O-Pack 

KB-In 

KB-Out 

Waitqueue 

0.0

en2 

2.5 

8.0 

4.0 

1.3 

1.2

en0 

1.1 

2.0 

0.4 

0.7 

PAGING 

MEMORY

lo0 

0.0 

Faults 

174 

Real,MB 

7808

Steals 

%Comp 

83.3

Disk 

Busy% 

TPSKB-ReadKB-Writ 

PgspIn 

%Noncomp 

2.5

hdisk3 

27.5 

2924.0 

322.0 

2910.0 

14.0 

PgspOut 

%Client 

3.2

hdisk0 

1.0 

PageIn 

1

hdisk1 

0.5 

PageOut 

PAGINGSPACE

dac0 

Sios 

Size,MB 

16384

dac0-utm 

%Used 

0.6

dac5 

NFS(calls/sec) 

%Free 

99.3

dac5-utm 

ServerV2 

dac2 

ClientV2 

Press:

dac4 

ServerV3 

"

h"

forhelp

cd0 

ClientV3 

q"

toquit

dac4-utm 

hdisk2 

dac2-utm 

Name 

PID 

CPU% 

PgSpOwner

oracle 

438598 

22.1 

7.2oracle

741490 

3.6 

5.5oracle

topas 

975296 

0.3 

2.1root

897480 

4.2oracle

hats_nim 

225330 

1.8root 

aioserve 

242162 

0.1root 

901544 

gil 

28972 

0.1root

315456 

118860 

381290 

323656 

hatsd 

151846 

8.2root 

188724 

7.1oracle

如果文件型内存所占比例很高,而PagingSpace使用率居高不下时,可以通过降低minperm、maxperm的

参数值来进行调优,减少文件型内存可占用的份额。

minperm及maxperm的缺省值分别

是30%和80%。

#vmo-a

cpu_scale_memp=8

data_stagger_interval=161

defps=1

force_relalias_lite=0

framesets=2

htabscale=n/a

kernel_heap_psize=4096

large_page_heap_size=0

lgpg_regions=0

lgpg_size=0

low_ps_handling=1

lru_file_repage=1

lru_poll_interval=10

lrubucket=131072

maxclient%=10

maxfree=1088

maxperm=192213

maxperm%=10

maxpin=1613727

maxpin%=80

mbuf_heap_psize=4096

memory_affinity=1

memory_frames=1998848

memplace_data=2

memplace_mapped_file=2

memplace_shm_anonymous=2

memplace_shm_named=2

memplace_stack=2

memplace_text=2

memplace_unmapped_file=2

mempools=0

minfree=960

minperm=96106

minperm%=5

nokilluid=0

npskill=32768

npsrpgmax=262144

npsrpgmin=196608

npsscrubmax=262144

npsscrubmin=196608

npswarn=131072

num_spec_dataseg=0

numpsblks=4194304

page_steal_method=0

pagecoloring=n/a

pinnable_frames=637301

pta_balance_threshold=n/a

relalias_percentage=0

rpgclean=0

rpgcontrol=2

scrub=0

scrubclean=0

soft_min_lgpgs_vmpool=0

spec_dataseg_int=512

strict_maxclient=1

strict_maxperm=0

v_pinshm=1

vm_modlist_threshold=-1

vmm_fork_policy=1#

说明:

(1)minperm%

如果由文件页面占有的实际内存的百分比低于这个级别,则页面替换算法既替换文件页面也替换计算页面,而不管repagerate。

#vmo-a|grepminperm%

minperm%=20

(2)maxperm%

如果由文件页面占有的实际内存的百分比高于这个级别,则页面替换算法仅替换文件页面。

#vmo-a|grepmaxperm%

maxperm%=80

(3)maxclient%

如果由文件页面占有的实际内存的百分比高于这个级别,则页面替换算法仅替换客户机页面。

#vmo-a|grepmaxclient%

maxclient%=80

这三个参数,可以根据内存总量大小,进行适度调节。

计算型内存与文件型内存,在实际的应用中,

需要遵循以下一些原则(这些原则是自己归纳的):

1.使用的文件型内存百分比+使用的计算型内存百分比<

100%

2.计算型内存中的pinnedmemory设置要合理,即sga大小要设置合理,要留一部份给OS,OS也需要pinnedmemory.当系统资源紧张时,OS的pinnedmemory具有最高的优先级.

3.保证系统非pinned计算型memory有一个合理的成长空间,这部份主要是给ORACLEPGA使用,当连接数增长过

快时,此内存的使用增长也相当的明显,而此增长很有可能会导致操作系统的交换。

当系统的使用的文件型内存百分比+使用的计算型内存百分比>

=100%,系统便开始产生交换,系统的PAGINGSPACE会持续的增长,影响到产品库的安全。

恰当的设置OS内存参数,控制操作系统的交换,可以减少很多系统不稳定的情况发生。

比如说操作系统执行重启命令都执行不了:

shutdown-Fr

当由文件页面占有的实际内

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 生物学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1