[SOLVED] Can't list the highest Memory utilized processes in the "top" command output
Linux - EnterpriseThis forum is for all items relating to using Linux in the Enterprise.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Can't list the highest Memory utilized processes in the "top" command output
Hi All,
I am having a RHEL 6.5 server with 32 G RAM and currently it is showing around 97% of memory utilization. I've checked the output of "free -m" and as you can see below, the memory is mostly utilized for applications only (not for buffers and cache)
Thank you very much for the feedback,
Yes I've gone through the www.linuxatemyram.com before. But in my case Bufferd & Cached utilization is about 2GB. And the application utilization is about 28 GB. As you can see from the "top" command output, addition of the total application utilization is less than 50% of total memory. My question is what application uses the rest of the memory.
Did you notice that the %MEM field is computed using the RES field - (RES/total)*100.
The RES field is what the process is currently actively using - resident in memory. What is allocated to the process is VIRT, which is much larger, but is either paged out, or in memory but not yet in use.
The other problem is that top only shows you snapshots. What was actually being used can be larger or smaller.
Next, you may not realize that a lot of that memory is shared - those bpem processes look like they are all threads - thus all the memory they are using is likely the same memory, yet reported separately...
Neither top nor ps are good at reporting memory - they are both snapshots, and poor snapshots at that. The problem is that between the time a process stats are grabbed, other processes will be using memory - and when that other process stats are taken, they may be using what was used by the first process... Getting coherent stats is not what they do.
You are more likely to get something close by using "vmstat" instead - and give it an interval to report over time. The first report from vmstat is also a snapshot...
You might also look at reports from the "sysstat" tools, as the kernel collects the data they use over the scheduling time intervals, and should be MUCH more accurate.
Will this consumed AnonHugePages (12939264 kB) can be used by any other application, if the system runs out of available memory (MemFree + Buffers + Cached) ?
Will it be possible to disable AnonHugePages usage, if yes, is it advisable to do so ?
It all depends on what is using the pages - very likely it will be Oracle. The advantage for Oracle is speed, both for large I/O requests and for in memory usage.
The system is a better memory manager than any of us could ever hope to be.
In need tune the users - plenty of sources online re how to manage transparent huge pages.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.