![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Forum Rules | FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !! |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| storing result of a command in variable | eltinator | Shell Programming and Scripting | 1 | 04-17-2008 05:09 PM |
| Outputting formatted Result log file from old 30000 lines result log<help required> | vikas.iet | Shell Programming and Scripting | 5 | 12-02-2007 07:43 PM |
| echo command result | umen | UNIX for Dummies Questions & Answers | 2 | 11-10-2005 05:39 AM |
| FTP command result | nymus7 | IP Networking | 1 | 08-08-2005 02:01 PM |
| find command not returning any result | rraajjiibb | UNIX for Advanced & Expert Users | 4 | 07-23-2004 02:05 PM |
|
|
Submit Tools | LinkBack | Thread Tools | Display Modes |
|
#1
|
|||
|
|||
|
I want to find out how much memory is used by one unix process. I guess I can use unix top command. I have seen the SIZE and RES column in the TOP command. For Oracle client connections these values are too high about 700M , My system does not have that much pysical memory. Here is few Oracle processes listing. I don't believe that Oracle will use about 650M for a client connection. Can anybody help me understanding it.
Thanks for you help. Sanjay PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND 21156 sanjay 1 10 0 2264K 1824K cpu0 0:02 4.71% top 18843 oracle 1 30 0 653M 619M sleep 0:14 1.18% oracle 20470 oracle 11 30 0 655M 623M sleep 34:40 0.30% oracle 18709 oracle 1 30 0 653M 619M sleep 2:56 0.08% oracle 11889 oracle 11 53 0 657M 622M sleep 25:35 0.05% oracle 11903 oracle 11 58 0 655M 622M sleep 0:19 0.04% oracle 11909 oracle 13 50 0 655M 622M sleep 3:55 0.03% oracle 11879 oracle 12 59 0 655M 621M sleep 16:15 0.02% oracle 3678 oracle 1 58 0 654M 621M sleep 2:09 0.02% oracle 18711 oracle 1 59 0 652M 618M sleep 0:16 0.02% oracle 11883 oracle 11 50 0 657M 623M sleep 18:40 0.01% oracle 597 root 7 59 -16 3576K 2208K sleep 5:27 0.01% VolumeAgent 20522 sanjay 1 48 0 2056K 1616K sleep 0:00 0.01% bash 11873 oracle 11 55 0 655M 625M sleep 14:20 0.00% oracle 11 root 4 58 0 2960K 1072K sleep 12:57 0.00% vxconfigd 19619 oracle 1 58 0 653M 620M sleep 8:18 0.00% oracle 3555 root 1 51 0 86M 2872K sleep 61:07 0.00% snmpd 1666 oracle 11 58 0 654M 609M sleep 43:50 0.00% oracle 11897 oracle 11 58 0 658M 623M sleep 34:20 0.00% oracle 14793 oracle 11 59 0 657M 622M sleep 30:41 0.00% oracle 11899 oracle 11 58 0 656M 622M sleep 24:13 0.00% oracle 10517 oracle 11 28 0 656M 623M sleep 22:22 0.00% oracle 10527 oracle 11 58 0 656M 623M sleep 18:34 0.00% oracle 1668 oracle 113 58 0 655M 611M sleep 17:25 0.00% oracle 10523 oracle 11 58 0 656M 622M sleep 17:00 0.00% oracle 11905 oracle 11 13 0 655M 623M sleep 14:06 0.00% oracle 11891 oracle 1 48 0 654M 620M sleep 13:32 0.00% oracle |
| Forum Sponsor | ||
|
|
|
#2
|
||||
|
||||
|
If you and I are on the system and we both run vi to edit different files, no modern kernel will give us two complete seperate copies of vi. The program's memory will be broken into segments. The text segment contains (roughly) the code and the unchanging constants. We will share one text segment bewteen us. We each get a data segment and we each get a stack. top will report the total of all the segments for each process, but you can't add them up and expect that system needs to use that much physical memory. With shared libraries, it get a bit more confused. If you use emacs and I use vi, will we have different text segments, but we both might be using the same copy of printf and other library functions. Oracle is probably using shared memory which further complicates things. Shared memory is another memory segment, and again many processes can map that seqment into their memory space. So 100 copies of a 700 MB program might easily fit in a couple of GB of memory.
In view of all this, it really isn't possible anymore to truly say how much memory a single process is using in the sense that you want. Each process really is using 700MB, but they are sharing very large chucks of this with other processes. Most versions of top have a line that shows system-wide memory usage. |
|
#3
|
|||
|
|||
|
Thanks !. It makes sense to me. Thanks for clarification.
|
|||
| Google The UNIX and Linux Forums |