regedit19
Goto Top

Via Batch den Arbeitsspeicher füllen

Arbeitsspeicher via Batch-Schleife füllen

Hallo!

Ich bin gerade im WWW auf ein Thema: http://www.source-center.de/forum/showthread.php?14316-batch-speicher-f ... gestoßen, und möchte zu "Lernzwecken" wissen wie diese Batch aussehen könnte, da ich schon einige Zeit am probieren bin und nicht und nicht draufkomme, wie das gehen soll...-.-

Danke!

mfg regedit19

Content-Key: 165463

Url: https://administrator.de/contentid/165463

Printed on: April 25, 2024 at 14:04 o'clock

Mitglied: 60730
60730 May 01, 2011 at 17:59:57 (UTC)
Goto Top
moin,

da ich schon einige Zeit am probieren bin und nicht und nicht draufkomme, wie das gehen soll...-.-
und was ist das Ergebnis der einigen investierten Zeit?

Baue Dir eine Textdatei mit z.B. 1024 Bytes je Zeile, am besten diese Zeile vorher in eine Variable packen, und dann die Datei in einer Schleife mit dem Inhalt der Varibalen vollpacken bis der Speicher sich verabschiedet.

Ist doch klipp und klar beschrieben - da ich mich aber dem Maneich anschliesse
also ich weiß nicht wie man auf solch eine verrückte Idee kommen kann aber was solls.

Wozu das ganze und zum lernen macht man es doch selber - vor allem, wenn man so eine Vorlage hat...
Member: Biber
Biber May 07, 2011 at 10:39:09 (UTC)
Goto Top
Moin regedit19,

hast du denn inzwischen nochmal über die Sinnhaftigkeit deiner Frage mit unbeteiligten Passanten gesprochen?
Und wartest du dennoch auf handwerkliche Umsetzungsmöglichkeiten?
Kannst du den Beitrag auf "Erledigt" setzen?
Oder darf ich den Beitrag in die Tonne kloppen?

Eine OT-Anmerkung sei mir noch vergönnt.
Zumindest bei mir hat es das Image der heutigen Jugend eher ramponiert als gefördert, wenn du dich ausgerechnet am Tag der Arbeit mit der Frage auseinandersetzt,
wie sich am besten Zeit verbrennen lässt mit stumpfsinniger,schlecht bezahlter und vollkommen überflüssiger Sisyphustätigkeit.

Grüße
Biber
Member: regedit19
regedit19 May 08, 2011 at 18:54:47 (UTC)
Goto Top
Hallo!

Ich gebe euch vollkommen Recht, dass es eig. völliger Schwachsinn ist.
Der Grund warum ich dies hier geöffnet habe, ist weil ich wissen wollte, wie man dies umsetzen kann, da ich bis jetzt noch immer keine funktionierende Lösung gefunden habe.(ich habe mich aber auch nicht so stark beschäftigt damit).-

Danke aber trotzdem, für das ^Oben^ geschriebene.

lg regedit19
Member: Biber
Biber May 08, 2011 at 19:34:38 (UTC)
Goto Top
Moin regedit19,

meinetwegen nochmal ein wenig ernsthafter:
  • alle Variablen, die du in einem Batch mit SetLocal definierst, gelten auch nur solange, wie der Batch läuft - also darfst du nicht SetLocal verwenden
  • eine Variable im Batch ist recht popelig klein - maximal 2000+x Zeichen, keine komplexen Strukturen. Ein Versuch, Variablen mi "mehr" zu füllen-> Fehler, Ende.
  • ist der Batch (oder die CMD-Instanz) beendet, sind sie weg und blockieren keinen Hauptspeicher.
  • alle Versuche, den Hauptspeicher dadurch zuzumüllen, irgendwelche Rekursiv-Aufrufe/Childprozesse zu starten, werden recht schnell abgestraft: Günstigstenfalls mit einer Fehlermeldung "Maximale Verschachtelungstiefe erreicht", meist dadurch, dass diese CMD-Instanz einfach beendet wird, als würdest du "exit" sagen.

Wenn denn aber das Allokieren von Speicherplatz die einzige Möglichkeit ist, diese Anforderumg zu erfüllen und angenommen, du könntest beliebig viele Variablen definieren...

Rechne nach: wenn du 1024 Variablen mit je 1024 Bytes zuschwallst, dann sind das gerade mal 1 MByte.

Dafür stehen heutige Rechner nicht mal vom Sofa auf.

Probiers:
::---MondayBloodyMonday.cmd
IF "%1"== "" %0 Ich hasse Montage ....  
:loop
@Set "ihm%random%%random%=%ihm%%random% %*" & goto :loop  

Lass den Schnipsel von einem CMD-Prompt aus laufen ein paar Minuten, drück dann Strg-C und brich ihn damit ab.
Gib dann ein am CMD-Prompt (ohne das führende ">")
> set ihm
...Dann werden dir tausende von %ihmxxxxxxx%-Variablen angezeigt.
....
....
ihm2030622301=20697 Ich hasse Montage ....
ihm2030629360=3493 Ich hasse Montage ....
ihm2031132175=28988 Ich hasse Montage ....
ihm2032213284=28333 Ich hasse Montage ....
ihm2032221684=31743 Ich hasse Montage ....
ihm203263523=816 Ich hasse Montage ....
ihm20326716=21056 Ich hasse Montage ....
ihm2032724514=30743 Ich hasse Montage ....
ihm2032910573=20410 Ich hasse Montage ....
ihm2032914167=27134 Ich hasse Montage ....
ihm203298432=4554 Ich hasse Montage ....
ihm2034415287=23909 Ich hasse Montage ....
....
Schau dir im Taskmanager an, wieviel Hauptspeicher jetzt frei ist, gib ein "exit" im CMD ein und schau noch mal.

-> Batch ist relativ ineffektiv im Verbraten von Hauptspeicher.

Grüße
Biber
Member: Biber
Biber May 14, 2011 at 16:24:23 (UTC)
Goto Top
Moin regedit19,

in diesem Batch & Shell-Bereich wimmelt es förmlich von Geduldigen und Belastbaren..
Auch ich bin einer davon.

Lass mich noch zwischen zwei Räucherstäbchen und vor meiner nächsten Meditationsübung nachfragen:
  • hast du es gelesen?
  • hat es geholfen?
  • kann ein maiglöckchenfarbener Haken dran oder warten wir noch, bis Guttenberg seine Memoiren schreiben lässt?

Grüße
Biber
Member: regedit19
regedit19 May 14, 2011 at 18:01:18 (UTC)
Goto Top
Hallo Biber!

Dank für die Antworten, und Sorry dass ich keine Antwort gepostet habe.


Ich habe mir deine "Anleitung" Oben durchgelesen, bin aber bis jetzt noch nicht dazugekommen deine Tipps anzuwenden.
Habe die Batch jetzt getestet und es funktioniert, zwar nur mit kleinen Veränderungen beim RAM, aber doch! face-smile

Danke für die Ausführliche Anleitung, freut mich dass du dich doch dazu bereit erklärt hast mir zu helfen!
Ps: Ich wäre nicht auf solch eine Batch gekommen, da ich keinerlei Ansätze gehabt hätte wie soetwas funktionieren hätte können.
Muss mich aber auch noch mit den Variablen und den Sonderzeichen auseinandersetzen, da ich sonst auch nicht dahinter kommen, welche Variable wann was macht. --> Soweit bin ich noch nicht mit @set vertraut.
Danke nochmals!

lg regedit 19