Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

AIX begin to use paging space when physical memory was not used up

Status
Not open for further replies.

signalsys

Technical User
Sep 5, 2005
44
0
0
CN
P650-AIX5206-Oracle 9i server installed-Database established on raw device

phenomenon:
Physical PagingSpace
x% Used 44.4% 9.4%
x% Free 55.6% 90.6%
xMB Used 3634.2MB 383.0MB
xMB Free 4557.8MB 3713.0MB
xTotal(MB) 8192.0MB 4096.0MB

Above output is from nmon
I want to understand why Aix begin to use pagingspace while the physical memory was not used up ?

Here supply the vmm parameter settings of my host:
cpu_scale_memp = 8
data_stagger_interval = 161
defps = 1
force_relalias_lite = 0
framesets = 2
htabscale = -1
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 = 0
lrubucket = 131072
maxclient% = 5
maxfree = 128
maxperm = 98195
maxperm% = 5
maxpin = 1677722
maxpin% = 80
mbuf_heap_psize = 4096
memory_affinity = 1
memory_frames = 2097152
mempools = 1
minfree = 120
minperm = 58917
minperm% = 3
nokilluid = 0
npskill = 8192
npswarn = 32768
num_spec_dataseg = 0
numpsblks = 1048576
pagecoloring = 0
pinnable_frames = 1694006
pta_balance_threshold = 0
relalias_percentage = 0
soft_min_lgpgs_vmpool = 0
spec_dataseg_int = 512
strict_maxclient = 1
strict_maxperm = 1
v_pinshm = 0
vmm_fork_policy = 0
hd_pbuf_cnt = 2816
hd_pvs_opn = 18
j2_dynamicBufferPreallocation = 16
j2_inodeCacheSize = 400
j2_maxPageReadAhead = 128
j2_maxRandomWrite = 0
j2_maxUsableMaxTransfer = 512
j2_metadataCacheSize = 400
j2_minPageReadAhead = 2
j2_nBufferPerPagerDevice = 512
j2_nPagesPerWriteBehindCluster = 32
j2_nRandomCluster = 0
j2_non_fatal_crashes_system = 0
j2_syncModifiedMapped = 1
jfs_clread_enabled = 0
jfs_use_read_lock = 1
lvm_bufcnt = 9
maxpgahead = 8
maxrandwrt = 1
memory_frames = 2097152
minpgahead = 2
numclust = 16
numfsbufs = 196
pd_npages = 65536
pgahd_scale_thresh = 0
sync_release_ilock = 1
hd_pendqblked = 250686
psbufwaitcnt = 0
fsbufwaitcnt = 2996
rfsbufwaitcnt = 0
xpagerbufwaitcnt = 1141608

 
Hello
The system has priorities of allowance on the physical memory with rules of semaphores and others for its correct operation. With Smit or manually it is possible to modify in a limited way the behavior of the system. Remind that you can have swap cached by system
Good year an good swap memory ......
 
I forgot to say. I do not have much experiment with Oracle but I solved this problem with Postgresql with the creation of a virtual disk in physical memory (KRAM) and I directed a path for the tmp and the temporary tables of the SQL.
Another way to use the memory...
 
You can start by basic tunning.

you system is set to some unusual memory tunning's like
maxperm% =5
minperm%=3
maxcleint%=5.

First before tunning this you need to set this parameter off.

lru_file_repage=0

then run this cmd.
vmo -p -o maxperm%=90 -o maxclient%=90 -o minperm%=10

then see the paging space utilization.

we can also set the minfree and maxfree also, but first start with this.
Thanks
Moh


 
Hi, mohmin
Can you tell me the meaning of lru_file_repage ?
 
I have a database server and i make a full db backup every three days to a jfs2 file system on it's internal hard disk using dd and then compress the datafile in the jfs2 file system. The db backup process endures for 4 hours.

My problem is:
Each time the db backup process has finished. Paging space usage of the database server increase about 3 percent. And I found oracle server processes ( the number of oracle server process is more than 100) use more paging space than before,though there are about 50 percent physical memory is free. It seems that during db backup, more file system cache is needed and VMM has to steal pages that used by other processes, But after the db backup process finished these pages are not paged into physical memory again.

Later i have made a test:
i create a jfs bigfile enabled system used for db backup instead of the jfs2 file systems. Then the above problems disappeared,everything looks OK.

Here i supply the vmm parameters on my server(AIX 5206):
cpu_scale_memp = 8
data_stagger_interval = 161
defps = 1
force_relalias_lite = 0
framesets = 2
htabscale = -1
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 = 0
lrubucket = 131072
maxclient% = 20
maxfree = 128
maxperm = 392781
maxperm% = 20
maxpin = 1677722
maxpin% = 80
mbuf_heap_psize = 4096
memory_affinity = 1
memory_frames = 2097152
mempools = 1
minfree = 120
minperm = 98195
minperm% = 5
nokilluid = 0
npskill = 8192
npswarn = 32768
num_spec_dataseg = 0
numpsblks = 1048576
pagecoloring = 0
pinnable_frames = 1693995
pta_balance_threshold = 0
relalias_percentage = 0
soft_min_lgpgs_vmpool = 0
spec_dataseg_int = 512
strict_maxclient = 1
strict_maxperm = 1
v_pinshm = 0
vmm_fork_policy = 0
hd_pbuf_cnt = 2816
hd_pvs_opn = 18
j2_dynamicBufferPreallocation = 16
j2_inodeCacheSize = 400
j2_maxPageReadAhead = 128
j2_maxRandomWrite = 1
j2_maxUsableMaxTransfer = 512
j2_metadataCacheSize = 400
j2_minPageReadAhead = 2
j2_nBufferPerPagerDevice = 512
j2_nPagesPerWriteBehindCluster = 8
j2_nRandomCluster = 8
j2_non_fatal_crashes_system = 0
j2_syncModifiedMapped = 1
jfs_clread_enabled = 0
jfs_use_read_lock = 1
lvm_bufcnt = 9
maxpgahead = 8
maxrandwrt = 1
memory_frames = 2097152
minpgahead = 2
numclust = 1
numfsbufs = 196
pd_npages = 65536
pgahd_scale_thresh = 0
sync_release_ilock = 1
hd_pendqblked = 251304
psbufwaitcnt = 0
fsbufwaitcnt = 47376
rfsbufwaitcnt = 0
xpagerbufwaitcnt = 1242138
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top