Eliminating paging space and interpreting memory utilization

I just want to inquire on one of our DB Servers. Currently, we are running on 26GB of memory and 6 CPUs. Though our memory is 70-80 utilized, I can see some paging of around 8-10%. Is there any effective way we can lessen/eliminate paging?
Here is our current VMO Settings:

vmo:
minperm% = "3"
maxperm% = "90"
maxclient% = "90"
lru_file_repage = "0"
maxfree = "8512"
minfree = "8000"

no:
clean_partial_conns = "1"
udp_pmtu_discover = "0"
tcp_pmtu_discover = "0"

Our Memory Utilization:
[root@server1] /home/pri-sys > svmon -G
size inuse free pin virtual
memory 6815744 6712498 103246 1468182 5381921
pg space 4456448 273680

          work       pers       clnt      other 

pin 1226118 2737 0 239327
in use 5243470 33639 1435389

PageSize PoolSize inuse pgsp pin virtual
s 4 KB - 6518002 273680 1329910 5187425
m 64 KB - 12156 0 8642 12156
[root@server1] /home/pri-sys >
If my computation serves me right, we still have 403MB but how come the topas is reporting that the memory utilization is around 70-83% 80% of 26 GB is 20.8 GB so we should still have 5 GB available. Which is accurate the svmon or the topas?
I have tried to issue the command "svmon -U oraprod -d" to check the utilization of the oracle user ID alone and this is what I get:

User Inuse Pin Pgsp Virtual
oraprod 4836933 84616 34726 3540729

PageSize      Inuse        Pin       Pgsp    Virtual 
s   4 KB    4715589         72      34726    3419385 
m  64 KB       3488       1188          0       3488 

Pid Command          Inuse      Pin     Pgsp  Virtual 64-bit Mthrd  16MB 

742352 oracle 3900150 65584 16119 2596036 Y N N
840094 ksh 21217 2883 0 21154 N N N
357166 oracle 11158 48 2 11160 Y N N
811984 oracle 8946 48 10 8955 Y N N
1585678 oracle 8834 48 58 8893 Y N N
463940 oracle 8785 48 35 8794 Y N N
906186 tnslsnr 8599 51 394 3367 Y Y N
1577536 oracle 8565 48 0 8565 Y N N
50428 oracle 8550 48 0 8550 Y N N
566216 oracle 8342 48 543 8882 Y N N
455406 oracle 8064 48 3 8065 Y N N
672594 oracle 7022 48 0 7022 Y N N
533050 sqlplus 6844 48 0 1022 Y N N
442848 oracle 6290 48 0 6290 Y N N
705284 oracle 6257 48 37 6289 Y N N

Is it clear to say that oracle ID itself is utilizing 18.8 GB of memory and 15.2 of it is being used by process ID 742352?
The problem is that whenever we use paging a lot the hdisk0 and hdisk1 gets busy and that no process it becomes really slow to the point that no work is being done. My understanding is that when we get to lower the memory utlization then it will eliminate the paging as well. I am not sure on this but hope you can shed some light into this.

Thanks.

Hi,

can you please paste output of vmstat -I 10 10?

And yes - the closer your free list goes against 0, the slower your system will be.

A healthy value for a database box is to keep your avm value between 66 and 80% - that always gives your oracle processes themselves enough memory.

If you have a busy database box with lots of connections you can easily have a requirement for 50%-100% more memory than you assigned to the SGAs themselves.

Are you running cio, rac or oracle with rawdevices or is this a plain oracle install.

Please paste the output of vmstat -v as well.

Talk to your DBAs - what are your top sql queries doing - usually you have either a bad execution plan and/or a lot of full table scans if you're having performance issues ...

In addition - try to set your minfree and maxfree value to much lower values and see if it reduces your paging - in my environments I had to set it back to 960/1088 because with higher values the amount of paging was extreme.

By the looks of your outputs you have a db only box - do you run any other applications and what kind of DB do you have - OLTP (many writed, not much reads) or rather reporting (large reads, not much writes).

Thanks and regards
zxmaus