Oracle Linux Memory usage

We have a 3 nodes cluster, having several databases running on each node, some having 2 instances and some are on all the 3 nodes; means 3 instances.

As it's a RAC, all the 3 nodes are identical, but encountering memory issues on node 2 only, where as node 1 and node 3 looks good and normal, some what similar too each other, but can't say, why node 2 is showing high memory usage.

The question, how to find, is there any memory leakage on node 2 or where exactly it's been used, we just need to find out, why only node 2 is showing very low free available, where as rest of the 2 nodes are just fine.

Please assist/advise, how to figure it out.

Here are 3 nodes free -m command:

[oracle@orclrac01 ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:        193824     189339       4484          0       2360      70299
-/+ buffers/cache:     116679      77144
Swap:        16386          1      16385

[oracle@orclrac02 ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:        193824     190189       3634          0       2205      62993
-/+ buffers/cache:     124990      68833
Swap:        16386          9      16376

[oracle@orclrac03 ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:        193696     187414       6281          0       3379      62912
-/+ buffers/cache:     121122      72573
Swap:        16386  

Some one is saying, memory is been wasted, where as I think, it's not the case, but need to satisfy and proof this, please suggest.

Thanks in advance.
Mushfique KhanDirector OperationsAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Looks like nearly identical distribution of load

Almost all of your free memory is being used by the OS for disk cache.

There is nothing in this output to indicate a memory problem on any of the servers.

What makes you think you have an issue?
Mushfique KhanDirector OperationsAuthor Commented:
basically my supervisor is insisting to check at the OS level, where the memory is leaking on node 2 ... and that's the reason of this whole effort, please assist/advise, how to proof that everything is good or as expected, nothing is been wasted or leaked ... :(

ps aux

That will list every process and show you how much memory each one is using.
You can use other options for ps too to show other information for each process too if you want.
"aux" is just one example that shows the sizes.

Ask your supervisor to specify which is consuming more memory than he or she expects and then investigate from there

If you supervisor doesn't know, then ask why they think there is a leak.
Whatever evidence they have or think they have should give you an indication of where to look.

If your supervisor is simply looking at 3 servers and notices that the "biggest" has used a 1.46% more memory than the "smallest" and thinks that means there is a leak, then he or she is mistaken.  There is no reason to expect the three servers to have the exact same usage at all times unless you can some how simultaneously control every single process to do exactly the same thing at the exact same time, which, obviously, you can't.

Now, that doesn't mean there isn't a leak, but simply looking at "free -m" is not indicative of anything here.
Active Protection takes the fight to cryptojacking

While there were several headline-grabbing ransomware attacks during in 2017, another big threat started appearing at the same time that didn’t get the same coverage – illicit cryptomining.

Mushfique KhanDirector OperationsAuthor Commented:
can you share some commands or some examples that I can execute on my server and then present to him, accordingly, means some proofs/evidence?
Devinder Singh VirdiLead Oracle DBA TeamCommented:
You can use gv$BH view and find which object is consuming more SGA.
You can also generate ADDM reports on all nodes to see if any paging is happening.
your "free -m" has already shown there isn't a leak.

what kind of evidence would be required beyond what you've already shown?

any demonstration of memory consumption will simply show that it is consumed.
not that it is leaking.

proving you have a leak is much easier than proving you don't have one.

To use an analogy:

Proving water is wet is easier than proving it isn't.

You're going to have to ask your supervisor for more information.
What is it that make him/her think there is a leak and then you can go investigate that.
For now, all you have shown is the memory consumption is basically equal which indicates no leak.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.