Autor Beitrag
Ccenter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 154

Win7
C#
BeitragVerfasst: Mi 08.12.10 22:59 
Nabend,
folgendes: Ich hab ein Programm welches aufgrund eines Kopiervorgangs(soll Backups erstellen) sehr viel Arbeitsspeicher zieht und viele andere Prozesse in der Zeit schlechter laufen.
Deshalb wüsste ich gerne, wie ich den Arbeitsspeicherverbrauch begrenzen kann.
Der Kopiervorgang darf gerne langsamer laufen, es geht nur darum dass alle anderen Prozesse während dessen flüssiger laufen.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 08.12.10 23:15 
Dann solltest du uns erst einmal zeigen, wie du überhaupt kopierst. Denn mit File.Copy verbrauchst du sicherlich keinen großen Batzen privaten Arbeitsspeicher ;) .

_________________
>λ=
Ccenter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 154

Win7
C#
BeitragVerfasst: Mi 08.12.10 23:36 
Ok, wenn es nicht am Arbeitsspeicher liegt, ist es möglicherweise eher die Cpu.
Mein aktueller Pc gibt nicht viel her: 2.0 Gh Singlecore, 1,5gb Arbeitsspeicher.

Zumindest läuft der Pc langsamer wenn mein Backupprogramm läuft:
Per Whileschleife werden bestimtme Ordner und deren Unterordner kopiert.
Da diese Ordner auch viele kleine Dateien enthalten, wird wohl einiges an Ressourcen verbraucht. Der Code ist nichts besonderes, eigendlich nur File.Copy bezogen auf viele Ordner + Unterordner mit Whileschleifen und If-Abfragen.

Zu meiner Frage: Kann ich nicht irgendwie die zu verwendene Cpu-Kapazität bzw. den zu verwendene Arbeitsspeicher einschränken? Wie gesagt, das Programm darf langsamer laufen. Das Backupprogramm soll einfach ohne mich zu beeinträchtigen, meine Daten auf einer Externen sichern, um Datenverlust (hatte leider gestern das Pech) vor zu beugen.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 08.12.10 23:45 
user profile iconCcenter hat folgendes geschrieben Zum zitierten Posting springen:
Ok, wenn es nicht am Arbeitsspeicher liegt, ist es möglicherweise eher die Cpu.
Na du bist lustig ;) . Bevor du solche Vermutungen aufstellst, die in die völlig falsche Richtung führen, solltest du vielleicht erst einmal in den Task-Manager gehen und diese Werte überprüfen. Denn bei File.Copy sollte da überhaupt nichts ausschlagen - was sollte die Methode schon belasten außer dem Festplattenzugriff? Insofern sehe ich da nur eine, imo aber relativ naheliegende Lösung: Mach zwischen den Dateien eine Pause, damit andere Programme an die Platte kommen.

_________________
>λ=
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 09.12.10 00:13 
Eine andere Möglichkeit wäre das Kopieren selbst zu übernehmen und dabei die Geschwindigkeit zu senken, indem direkt dabei Pausen gemacht werden z.B.