Memory utilization of my Server

Hi,
i have two oracle instances running on my server with 7.5G RAM but it is showing almost 99% memory is full as you can see bellow.

# svmon
size inuse free pin virtual
memory 1974272 1954270 20002 336595 1800652
pg space 4194304 1250858
work pers clnt other
pin 264925 0 2732 68938
in use 965573 5 988692
PageSize PoolSize inuse pgsp pin virtual
s 4 KB - 1832014 1249674 247587 1676956
m 64 KB - 7641 74 5563 7731

I have used around 67% of memory to be allocated to all my oracle processed and now i want to find who is consuming this much memort. Can anyone tell me the command to find out the process started as OS user "oracle" with the memory consumed by each process in MBs OR KBs and also if i can have a sum of this memory used by all processes spawned by "oracle" user in a single command.
Thanks

The following could show all process started as "oracle"

top -u oracle

u can combine this with awk to have the sum of memory used by "oracle"

you have almost no paging to pagingspace on your system, total memory ist bigger then inuse memory

to see the real memory consumed by a process in 4k pages, use ps waux, RSS column

almost all of my systems show a 100% memory consumption, AIX uses the free pages for filesystem caching

these noncomputational pages will be replaced with computational pages (your oracle processes for example) until the minperm value is reached
(man vmo)
then both computational and non-computational may get replaced

use topas, if it shows pgspin pgspout you may have a problem

>you have almost no paging to pagingspace on your system, total memory ist bigger then inuse memory
I didnt understand. You mean i dont have paging space defined? Please see following
# /usr/sbin/lsps -a
Page Space Physical Volume Volume Group Size %Used Active Auto Type
hd6 hdisk1 rootvg 16384MB 31 yes yes lv

>almost all of my systems show a 100% memory consumption, AIX uses the free pages for filesystem caching
So you mean i should not be worried about this. This is usual behaviour os AIX to use all the memory but actualy these are pages not in use and will be resued if required by any other process?

>use topas, if it shows pgspin pgspout you may have a problem

Topas Monitor for host:    USCUMS001            EVENTS/QUEUES    FILE/TTY
Wed May 20 19:58:02 2009   Interval:  2         Cswitch     290  Readch    35721
                                                Syscall    2626  Writech   73683
Kernel    0.5   |#                           |  Reads        53  Rawin         0
User     48.0   |##############              |  Writes       60  Ttyout      816
Wait      0.4   |#                           |  Forks         0  Igets         0
Idle     51.2   |###############             |  Execs         0  Namei         8
                                                Runqueue    2.0  Dirblk        0
Network  KBPS   I-Pack  O-Pack   KB-In  KB-Out  Waitqueue   0.0
en0       8.5     12.5    15.0     2.0     6.5
lo0       1.4      8.0     8.0     0.7     0.7  PAGING           MEMORY
en2       0.5      3.5     2.5     0.3     0.2  Faults       10  Real,MB    7712
                                                Steals        0  % Comp     51.1
Disk    Busy%     KBPS     TPS KB-Read KB-Writ  PgspIn        4  % Noncomp  47.7
hdisk2    1.0    64.0     4.0     0.0    64.0   PgspOut       0  % Client   47.7
dac1      0.0    64.0     4.0     0.0    64.0   PageIn        4
hdisk1    1.5    18.0     4.5    18.0     0.0   PageOut      16  PAGING SPACE
hdisk0    0.0     0.0     0.0     0.0     0.0   Sios         20  Size,MB   16384
                                                                 % Used     29.9
Name            PID  CPU%  PgSp Owner           NFS (calls/sec)  % Free     71.1
oracle       450764  47.7   5.6 oracle          ServerV2       0
topas       1609912   0.1   4.3 root            ClientV2       0   Press:
dtgreet      192610   0.1   1.4 root            ServerV3       0   "h" for help
oracle       684280   0.1   3.9 oracle          ClientV3       0   "q" to quit
oracle      1568870   0.0   4.1 oracle

Please advise

well this is a snapshot from your system, you need to collect data over a longer period of time

half of you memory is full with non-comutational pages, so your database has a lot of room to grow in memory

post the output of vmo -a

of course you have paging space defined, I mean to the time you took the svmon output, there was no paging space activity, but there was paging, since your paging space is full to 30%

you need to collect data specially to peak times, eg. backup times, a lot of concurrent users, big jobs and so on
it won't help you that your database is idle most of the time and to peak times users can't log in

Please see the output of vmon -a

# 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
          kernel_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% = 80
               maxfree = 1088
               maxperm = 1517444
              maxperm% = 80
                maxpin = 1593215
               maxpin% = 80
       mbuf_heap_psize = 65536
       memory_affinity = 1
         memory_frames = 1974272
         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 = 1
               minfree = 960
               minperm = 379361
              minperm% = 20
             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 = 1638192
  psm_timeout_interval = 5000
 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 = 0
  vm_modlist_threshold = -1
       vmm_fork_policy = 1
    vmm_mpsize_support = 1
    wlm_memlimit_nonpg = 1

 

hi, you have no parameter set for the database

see

Running Oracle on AIX

focus on the memory part, specially the vmo options

Hi,
Thank you very much for your help. Mean while same recommendations were also given to us by IBM support. Thanks a lot once again.

Salman