Sometimes administrators want to know how much memory is being used by a program (and not per process). This is especially useful to calculate the memory consumption for an oracle instance. Today i found a nice script for doing so here (local mirror).
When called on an oracle database server it produces the following output:
host:~ # python mem.py Private + Shared = RAM used Program 308.0 KiB + 0.0 KiB = 308.0 KiB init 84.0 KiB + 264.0 KiB = 348.0 KiB zmd-bin 120.0 KiB + 284.0 KiB = 404.0 KiB irqbalance 116.0 KiB + 404.0 KiB = 520.0 KiB acpid 140.0 KiB + 400.0 KiB = 540.0 KiB portmap 216.0 KiB + 428.0 KiB = 644.0 KiB auditd 104.0 KiB + 544.0 KiB = 648.0 KiB hald-addon-storage 364.0 KiB + 308.0 KiB = 672.0 KiB klogd 232.0 KiB + 444.0 KiB = 676.0 KiB wrapper 108.0 KiB + 572.0 KiB = 680.0 KiB hald-addon-acpi 380.0 KiB + 304.0 KiB = 684.0 KiB udevd 212.0 KiB + 508.0 KiB = 720.0 KiB resmgrd 164.0 KiB + 592.0 KiB = 756.0 KiB dd 424.0 KiB + 644.0 KiB = 1.0 MiB slpd 576.0 KiB + 496.0 KiB = 1.0 MiB dbus-daemon 332.0 KiB + 792.0 KiB = 1.1 MiB cron (2) 584.0 KiB + 608.0 KiB = 1.2 MiB mingetty (6) 508.0 KiB + 712.0 KiB = 1.2 MiB nscd 384.0 KiB + 880.0 KiB = 1.2 MiB vsftpd 276.0 KiB + 1.0 MiB = 1.3 MiB sh 344.0 KiB + 1.1 MiB = 1.4 MiB mysqld_safe 872.0 KiB + 660.0 KiB = 1.5 MiB syslog-ng 856.0 KiB + 712.0 KiB = 1.5 MiB ndo2db-3x (2) 820.0 KiB + 1.1 MiB = 1.9 MiB powersaved 468.0 KiB + 1.6 MiB = 2.1 MiB pickup 496.0 KiB + 1.7 MiB = 2.1 MiB master 712.0 KiB + 1.6 MiB = 2.3 MiB qmgr 1.0 MiB + 1.3 MiB = 2.4 MiB bash 720.0 KiB + 1.9 MiB = 2.6 MiB smtpd 2.0 MiB + 1.1 MiB = 3.0 MiB mount.smbfs (2) 2.3 MiB + 932.0 KiB = 3.2 MiB hald 1.4 MiB + 1.9 MiB = 3.3 MiB sshd (2) 1.4 MiB + 2.1 MiB = 3.5 MiB smbd (2) 996.0 KiB + 2.6 MiB = 3.5 MiB nagios 3.1 MiB + 1.2 MiB = 4.3 MiB cupsd 2.9 MiB + 1.8 MiB = 4.7 MiB ntpd 5.7 MiB + 716.0 KiB = 6.4 MiB perl 7.7 MiB + 776.0 KiB = 8.5 MiB named 6.6 MiB + 5.9 MiB = 12.5 MiB httpd2-prefork (11) 11.9 MiB + 1.2 MiB = 13.1 MiB slapd 9.7 MiB + 4.4 MiB = 14.1 MiB emagent 10.1 MiB + 5.3 MiB = 15.5 MiB tnslsnr (2) 13.3 MiB + 4.9 MiB = 18.2 MiB exp 22.1 MiB + 516.0 KiB = 22.6 MiB nmbd 103.8 MiB + 1.2 MiB = 105.0 MiB mysqld-max 569.7 MiB + 9.4 MiB = 579.1 MiB java (4) 1.5 GiB + 3.4 GiB = 4.9 GiB oracle (169) Private + Shared = RAM used Program Warning: Shared memory is slightly over-estimated by this system for each program, so totals are not reported.
You can see the running oracle programs sum up to 4.9 GB memory useage. Keep in mind several local running oracle instances are counted together here because summarization is being done by program!
Pingback: Blogroll Report 25/12/2009 – 01/01/2010 « Coskan’s Approach to Oracle
Very useful Ronny , thanks.
how can we know how much memory is used by Ram for particular sub routine in one appl when we run that sub routine. can u please help me for this its urgent. code are command