You should edit your first post in this thread, select advanced, then edit the title to ask about Oracle ram usage, not Red Hat ram usage. Then you might get the attention of someone knowing the answer.
Nothing in your question is specific to Red Hat. The important part of your question is specific to Oracle.
Originally Posted by linuxdba
In our database linux server free -m is showing below and I see -/+ buffers/cache: it is showing 30GB is free
Trust that number. It is correct and I think its meaning is close to what you think it means.
as per ipcs Oracle is using about 12GB
"using" is a complicated concept in this context and may not mean what you think it means.
I don't know how to interpret output from ipcs. I see you are adding together the sizes of all those shared memory segments. But what do you think doing so means?
Obviously most of the total size of those shared segments is not physically mapped (resident) in any process, so it is not "used" in the sense that the -/+ buffers/cache
line reports used memory.
I don't know whether shared regions might be "demand zero" or other forms of basically non existent memory. I expect so, but I don't really know. If they can then the reported size may be much bigger than the actual memory used.
Whether 12GB or far less, the memory of the shared regions might be part of the cache memory. There is no good definition of "used" memory for Linux. That -/+ buffers/cache
line excludes the cache from "used", but a large part of your processes' address spaces might be in cache (rather than "resident") and might be soft faulted in and out of resident.
I don't know any way to tell what fraction of the cache is involved in ongoing soft faulting.