Небольшой скрипт, выводящий Top-10 процессов, больше всех отожравших paging space.
#!/usr/bin/ksh -pLANG=C
PATH=/usr/bin:/usr/sbinprintf “%-16st%-16st%-16st%sn” “Segment” “Memory in PS” “PID” “Process”
svmon -S -O sortseg=pgsp -t 10 | grep -v ‘^$’ | awk ‘
/Unit/ {}
/Vsid/ {}
$1 ~ /^[0-9a-f]+/ { print $1 }
‘ | while read sid ; do
printf “%-16st%-16st” “$sid” $(svmon -S $sid | grep -v ‘^$’ | awk ‘
/Unit/ {}
/Vsid/ {}
$1 ~ /^[0-9a-f]+/ { pgsp=NF-1; print $pgsp*4″KB” }
‘)
s=$(svmon -S $sid -lrj | tail -1 | tr -d ‘ ‘ | cut -f2 -d=)
if [[ “$s” == “Systemsegment” ]] ; then
prog=”System Segment”
pid=0
else
prog=$(ps -efo pid,args | awk ‘$1 == ‘$s’ {print $0}’ | sed -e ‘s/^[ ]*//’ | cut -f2 -d’ ‘)
pid=$s
fi
printf “%-16st%-16sn” “$pid” “$prog”
done