Einzelnen Beitrag anzeigen
Alt 01.08.2006, 18:46   #5
citizen428
Elite
 
Registriert seit: 04.04.2001
Beiträge: 1.358


citizen428 eine Nachricht über ICQ schicken
Standard

Und wieder 5 Minuten togeschlagen...

Code:
 #!/bin/bash


 if [ $# -eq 1 ]
     then
         users=$1
     else
         users=`cat /etc/passwd | grep -v "^#" | cut -d":" -f1`
 fi

 for user in $users ; do
     mem_total=0

     for i in `ps -U $user ho size` ; do
         mem_total=$(($i + $mem_total))
     done

     [ $mem_total -gt 0 ] && echo "$user: ${mem_total}kb ($(($mem_total/1024))MB)"
done
Ohne Parameter gibt dir das Skript die komplette Userliste aus (so wie die for-Schleife im vorigen Post), alternativ kannst du das Skript mit genau einem Usernamen aufrufen, dann bekommst du nur den Speicherverbrauch dieses Benutzers.

Code:
$ mem_total foo
foo: 268748kb (262MB)

$ mem_total
root: 38984kb (38MB)
daemon: 248kb (0MB)
lp: 1104kb (1MB)
www-data: 2780kb (2MB)
Debian-exim: 884kb (0MB)
messagebus: 372kb (0MB)
ntp: 528kb (0MB)
nagios: 260kb (0MB)
hal: 1644kb (1MB)
foo: 12012kb (11MB)
[snip]
____________________________________
citizen428.blog() | CARGAL | open.source.mac
citizen428 ist offline   Mit Zitat antworten