Also, please let me know of some other method of finding memory occupied by a process other than the top command.
You may use OEM to monitor the memory consumption and many other metrics on your Server:
Hope this help,
I wanted to know of how to find memory occupied by a process using top command. I checked in help using man command and it says the syntax should be like,
where N1 is the process id, PID.
But when I gave this command using a particular PID, there was no relevant output. Also, please let me know of some other method of finding memory occupied by a process other than the top command.
I hope, my question is clear.
Please revert with the reply to my query.
Some, most, all *NIX do a very poor job reporting RAM usage for Oracle related process due to the Shared Memory inclusion.
If you simply add up the reported "memory size" for all Oracle related processes, you will usually end up with a value that is greater than total RAM.
Some above is a solid clue to conclude the reported memory size for any given process is not a 100% accurate value.
The problem is that the OS includes the SGA size into EVERY process that uses this memory structure as part of its memory size.
Unix does not do a poor job on reporting RAM usage, but unfortunately you have to use appropriate tools depending on what information you are looking for and for what purpose.
I don't know what you are trying to accomplish or why you want to find out the memory usage of a process, but perhaps the following will give you the info you want:
Try the pmap -d PID command.
The last line of the output shows you the memory mapped to files, the memory of the private address space and the amount of memory this process is sharing with others.