Memory usage by process
The Solaris pmap command will provide the total memory usage of each process.
The following shell script prints the memory usage of each process, sorted by ascending memory usage.
#!/bin/sh
/usr/bin/printf "%-6s %-9s %s\n" "PID" "Total" "Command"
/usr/bin/printf "%-6s %-9s %s\n" "---" "-----" "-------"
for PID in `/usr/bin/ps -e | /usr/bin/awk '$1 ~ /[0-9]+/ { print $1 }'`
do
CMD=`/usr/bin/ps -o comm -p $PID | /usr/bin/tail -1`
# Avoid "pmap: cannot examine 0: system process"-type errors
# by redirecting STDERR to /dev/null
TOTAL=`/usr/bin/pmap $PID 2>/dev/null | /usr/bin/tail -1 | \
/usr/bin/awk '{ print $2 }'`
[ -n "$TOTAL" ] && /usr/bin/printf "%-6s %-9s %s\n" "$PID" "$TOTAL" "$CMD"
done | /usr/bin/sort -n -k2
Example output:
PID Total Command
--- ----- -------
21245 336K sh
25291 336K sh
25385 336K sh
1 888K /etc/init
1341 1056K /usr/lib/efcode/sparcv9/efdaemon
1201 1080K /usr/lib/utmpd
26675 1096K /bin/sh
26679 1096K /bin/sh
25327 1656K csh
1323 1752K /usr/sadm/lib/smc/bin/smcboot
1324 1752K /usr/sadm/lib/smc/bin/smcboot
1365 1888K /usr/lib/saf/ttymon
1270 1912K /usr/lib/osa/bin/sparcv9/rdaemon
1299 1912K /usr/lib/osa/bin/sparcv9/rdaemon
1135 2000K /usr/sbin/cron
19828 2208K sh
59 2264K /usr/lib/sysevent/syseventd
1254 2496K /usr/lib/osa/bin/arraymon
25042 2624K -bash
19748 2648K -bash
21123 2648K -bash
21852 2648K -bash
65 2832K devfsadmd
1351 3600K /usr/local/sbin/sshd
1026 3864K /usr/lib/picl/picld
1118 4416K /usr/local/bin/ntpd
19742 6200K /usr/local/sbin/sshd
21106 6320K /usr/local/sbin/sshd
21838 6320K /usr/local/sbin/sshd
25033 6416K /usr/local/sbin/sshd
17876 6432K /usr/lib/sendmail
19702 6600K /usr/local/sbin/sshd
21071 6600K /usr/local/sbin/sshd
21806 6600K /usr/local/sbin/sshd
24807 6600K /usr/local/sbin/sshd
2790 6712K /usr/lib/sendmail
14201 6720K /usr/lib/sendmail
1488 6720K /usr/lib/sendmail
14936 6720K /usr/lib/sendmail
17210 6720K /usr/lib/sendmail
19949 6720K /usr/lib/sendmail
2859 6720K /usr/lib/sendmail
2998 6720K /usr/lib/sendmail
5621 6720K /usr/lib/sendmail
942 6720K /usr/lib/sendmail
3886 6728K /usr/lib/sendmail
5646 6728K /usr/lib/sendmail
1127 9808K /usr/sbin/syslogd
26678 17568K /usr/bin/sort
29484 83624K /usr/local/sbin/named
27831 90464K /usr/local/sbin/rbldnsd
26741 2206432K /usr/local/sbin/clamd
Back to brandonhutchinson.com.
Last modified: 01/16/2006