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
Comments
Post a Comment