Schrift
[thread]8463[/thread]

open FILEHANDLE - Memory Problem



<< >> 5 Einträge, 1 Seite
Gast Gast
 2006-11-01 21:53
#71303 #71303
Hallo zusammen,

ich habe folgendes Problem. Ich habe ein Perl-Script, welches eine große Anzahl an Dateien erstellen muss und bei diesem Prozess "frisst" sich mein Arbeitsspeicher voll. Hier eine vereinfachte Version, die aber denselben Effekt hat:

Code: (dl )
1
2
3
4
5
for ($i=0;$i<1000000;$i++) {
open(DATA">files/".$i.".txt");
print DATA "Hier Text blablabla";
close(DATA);
}


Wenn man mit top die Speicherauslastung anschaut sieht man das mit jedem Schleifendurchlauf ein bisschen mehr in den Arbeitsspeicher geschrieben wird. Ich frage mich welche Informationen da dauerhaft in den Speicher geschrieben werden und wie ich das verhindern kann.

Danke für jeden Tipp,
Florian

code-tags von betterworld\n\n

<!--EDIT|betterworld|1162417251-->
Relais
 2006-11-01 22:08
#71304 #71304
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
Welches Betriebssystem kann denn mit 1 Mio Dateien in einunddemselben Verzeichnis umgehen?
Und wer hat sowas designt?

Wie beobachtest Du den Speicherverbrauch?
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
topeg
 2006-11-01 23:38
#71305 #71305
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Ich vermute mal du nutzt Linux oder irgendein Unix (ich schließe das mal aus der Verwendung von "top")
Das ist normal, da der fs-Treiber, bzw. das VFS alle Eigenschaften der Dateien bereit halten muß, falls man darauf zugreifen will.
Bei sehr vielen Dateien verbraucht das eine Menge Speicher.
Da kann man kaum was machen. (sync könnte eventuell etwas helfen...)
esskar
 2006-11-01 23:46
#71306 #71306
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
mit windows gibts keine probleme.
auch nicht mit 1000000 dateien.
nur der explorer tut sich schwer - war aber auch nicht anders zu erwarten. aber sonst ist windows relative unbeeindruckt!\n\n

<!--EDIT|esskar|1162417708-->
Linuxer
 2006-11-02 14:43
#71307 #71307
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
Hi,

mit Linux (Gentoo, reiserfs) kann ich das Problem auch nicht nachvollziehen. Die Speicherauslastung bleibt ziemlich gleich (schwankt zwischen den folgenden Werten):

Quote
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2967 webster 25 0 3140 1348 1108 R 83.0 0.3 0:18.69 perl
2967 webster 25 0 3012 1344 1108 R 81.0 0.3 1:02.81 perl


Getestet mit ca. 520.000 Dateien...
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
<< >> 5 Einträge, 1 Seite



View all threads created 2006-11-01 21:53.