A DBA here wants to improve performance of an Oracle 8.1.7 database job
on AIX 4.3.3 (it runs about half the speed it did on Oracle 7.4.3). He
requested that we restrict the amount of memory used for file caching to
15% (from the default maximum of 80%) of the one gigabyte of memory, i.e.,
to about 150 MB. The theory was that Oracle processes would use more real
memory and thus run faster. The request to restrict file memory was based
on a recomendation from an IBM redbook on tuning Oracle on AIX:
If you can estimate how much memory is left after allowing for:
o AIX (32 MB)
o The basic Oracle process
o The Oracle Servers
o The user application processes
then we recommend to allocate the following amount of the remaining
memory:
o For JFS based databases, 75%
We restricted the file memory available with
vmtune -p 10 -P 15 -h 1
i.e., parameter "minperm" set to 10% of memory and "maxperm" set to 15%,
and the latter is a hard limit.
The job in fact ran a little slower than with maxperm at 80%. There was
paging (page space page in/out) and Oracle processes did not use
significantly more memory; there was over 700 megabytes free (observed via
the "monitor" program (http://www.mesa.nl/monitor)).
My explanation of some of the observed behaviour is that the Oracle
processes did not need any more real memory and in fact Oracle database
file I/O was hampered by the restricted amount of file memory. However, I
don't have a good explanation for the increased paging: obviously if it
didn't happen until file memory was restricted, that's the cause, but what
is now being paged that was not before? As I understand it, page space
paging numbers refer only to process and working storage memory going back
and forth to the page file and there shouldn't be any need for this because
there's plenty of memory available.
| 494-3332 | University Computing & Information Services
| Dalhousie University, Halifax, N.S., Canada