Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How to determine where plenty of Mem used size has been consumed on Oracle DB Server?

Quanwen ZhaoApr 15 2019 — edited May 6 2019

Hello guys ,

Nowadays our Oracle DB (Production) Server has been a status of business peak, currently I observe the free Memory has been insufficient by a variety of Linux commands.

The following operations are my diagnostic process,

(1) Linux command of *free -m*

[oracle@xxxx ~]$ free -m

         total       used       free     shared    buffers     cached

Mem: 516775 514851 1923 16 275 173407

-/+ buffers/cache: 341168 175607

Swap: 131071 3 131068

(2) Linux command of *dstat -tmsl -c 2 5*

[oracle@xxxx ~]$ dstat -tmsl -c 2 5

----system---- ------memory-usage----- ----swap--- ---load-avg--- ----total-cpu-usage----

date/time | used buff cach free| used free| 1m 5m 15m |usr sys idl wai hiq siq

15-04 15:19:52| 333G 277M 169G 1814M|3204k 128G|6.32 5.95 5.88| 2 1 97 0 0 0

15-04 15:19:54| 333G 277M 169G 1802M|3204k 128G|6.05 5.90 5.86| 2 1 97 0 0 0

15-04 15:19:56| 333G 277M 169G 1810M|3204k 128G|6.05 5.90 5.86| 2 1 97 0 0 0

15-04 15:19:58| 333G 277M 169G 1869M|3204k 128G|5.81 5.85 5.85| 1 1 97 0 0 0

15-04 15:20:00| 333G 277M 169G 1903M|3204k 128G|5.81 5.85 5.85| 2 1 97 0 0 0

15-04 15:20:02| 333G 277M 169G 1877M|3204k 128G|5.81 5.85 5.85| 1 1 96 1 0 0

(3) Linux command of *vmstat -s*

[oracle@xxxx ~]$ vmstat -s

529178400  total memory

527249984  used memory

 80755008  active memory

102944440  inactive memory

  1928404  free memory

   282672  buffer memory

177545984  swap cache

134217728  total swap

     3204  used swap

134214520  free swap

4042124042 non-nice user cpu ticks

    21553 nice user cpu ticks

3201855066 system cpu ticks

253449561746 idle cpu ticks

448936788 IO-wait cpu ticks

   376596 IRQ cpu ticks

124832399 softirq cpu ticks

        0 stolen cpu ticks

117403127816 pages paged in

58269421200 pages paged out

      255 pages swapped in

      859 pages swapped out

925592386 interrupts

4216014702 CPU context switches

1541653972 boot time

1869022596 forks

(4) *nmon* tool for *Memory Stats*

nmon_memory_usage.png

BTW I have set *Huge Page* on my Linux Server as well,

[oracle@xxxx ~]$ cat /proc/meminfo | grep -i HugePage

AnonHugePages: 0 kB

HugePages_Total: 163851

HugePages_Free: 8465

HugePages_Rsvd: 8455

HugePages_Surp: 0

Hugepagesize: 2048 kB

and some related parameter of Oracle SGA and PGA is as follows,

SQL> set linesize 150

SQL> show parameter sga

NAME TYPE VALUE

------------------------------------ ---------------------- ------------------------------

lock_sga boolean FALSE

pre_page_sga boolean FALSE

sga_max_size big integer 320G

sga_target big integer 320G

SYS@orcl28> show parameter pga

NAME TYPE VALUE

------------------------------------ ---------------------- ------------------------------

pga_aggregate_target big integer 80G

SQL> show parameter use_large

NAME TYPE VALUE

------------------------------------ ---------------------- ------------------------------

_PX_use_large_pool boolean TRUE

use_large_pages string TRUE

Now, for me, how to determine where plenty of Mem used size has been consumed on Oracle DB Server?

Could you help me continue to diagnose it further more? Thanks in advance!!!

Best Regards

Quanwen Zhao

This post has been answered by Dude! on Apr 15 2019
Jump to Answer
Comments
Post Details
Added on Apr 15 2019
14 comments
2,610 views