Schrift
[thread]6630[/thread]

Speicherbedarf eines Perl scripts ermitten



<< >> 8 Einträge, 1 Seite
frodus
 2005-01-15 15:56
#50793 #50793
User since
2003-09-26
147 Artikel
BenutzerIn
[default_avatar]
Hi Leute,

gibt es unter Windows oder Linux ein tool
mit dem ich den Speicherhunger eines Perl
Scripts ermitteln kann?

Am liebsten mit einer Ausgabe die ich in
eine Datei packen kann.

Danke,

Frodus
betterworld
 2005-01-15 16:03
#50794 #50794
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
ps -o size -p 123
wobei 123 die Prozess-ID ist
frodus
 2005-01-15 16:06
#50795 #50795
User since
2003-09-26
147 Artikel
BenutzerIn
[default_avatar]
Ja erstmal danke,
kann ich denn vor dem Aufrufen die Prozess-ID ermitteln?
Das Problem ist, das das Script viele unterschiedliche
Dateien öffnet und ich würde gerne den Verlauf
des Speicherbedarfs mit Tracken.

/Frodus
betterworld
 2005-01-15 16:35
#50796 #50796
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Quote
kann ich denn vor dem Aufrufen die Prozess-ID ermitteln?

Jein.. vielleicht gefaellt Dir diese Loesung:
Code: (dl )
sh -c 'echo $$; exec script.pl'


Aber wenn das Skript gestartet ist, kannst Du es seine ID ausgeben lassen (print $$)

Wenn das Skript so viele Dateien oeffnet, kannst Du evtl auch mit fuser(1) arbeiten.
frodus
 2005-01-15 16:43
#50797 #50797
User since
2003-09-26
147 Artikel
BenutzerIn
[default_avatar]
Danke werde mal schauen ob ich
aus Deinen Infos irgendwas basteln kann was
mir dann weiter hilft.

Weitere Ideen sind natürlich willkommen.

/Frodus
cocko
 2005-01-15 17:24
#50798 #50798
User since
2005-01-10
18 Artikel
BenutzerIn
[default_avatar]
Für Win32:

Code: (dl )
1
2
3
4
5
6
7
8
use Win32;
...
my $osname = Win32::GetOSName();
if ($osname eq 'WinXP/.Net' or $osname eq 'Win2003') {
  print "memory usage: $1 RAM." if `tasklist /FO list /v /FI "PID eq $$"` =~ /Mem\s+Usage:\s+(.+)/;
} else {
  print "memory usage: $1 RAM." if `tlist $$` =~ /WorkingSetSize:\s+(\d+\s+\w+)/;
}


Entsprechend müsste es doch auch für Linux/Unix/BSD gehen:
print `ps -o size -p $$`;

Könnte es allerdings mangels entsprechendem Betriebssystem erst Montag in der Uni testen ;-)
cocko
 2005-01-15 18:14
#50799 #50799
User since
2005-01-10
18 Artikel
BenutzerIn
[default_avatar]
Sollte klappen (mittels SSH mal eingeloggt):

lichtenb@mond04:~> perl -e 'print `ps -o size -p $$`'
SZ
484
frodus
 2005-01-16 16:11
#50800 #50800
User since
2003-09-26
147 Artikel
BenutzerIn
[default_avatar]
Ja danke Cocko so hatte ich das auch vor.
Die Win variante werde ich am Montag mal auf
meinem Testrechner im Büro ausprobieren.
<< >> 8 Einträge, 1 Seite



View all threads created 2005-01-15 15:56.