If wird nicht erkannt

X

xTheGamerFlo

Aktives Mitglied
Thread Starter
Dabei seit
30.04.2014
Beiträge
233
Reaktionspunkte
1
Hey,

ich will ein kleines Programm zum reinigen meines RAM's schreiben. Das Programm sieht so aus:

Code:
[B]set[/B] iiiii [B]to[/B] [B]display dialog[/B] "RamCleaner v1.0


Mit diesem Programm kannst du deinen Arbeitsspeicher.




" buttons {"Starten", "Erweiterte Einstellungen", "Beenden"}


[B]set[/B] auswahl [B]to[/B] button returned [B]of[/B] iiiii


[B]if[/B] auswahl [B]is[/B] {"Starten"} [B]then[/B]
	[B]set[/B] Repeateinst [B]to[/B] 5
[B]else[/B]
	
	[B]if[/B] auswahl [B]is[/B] {"Erweiterte Einstellungen"} [B]then[/B]
		
		[B]repeat[/B]
			[B]set[/B] wieoftf [B]to[/B] [B]display dialog[/B] "Wie oft soll der Arbeitsspeicher gesäubert werden?" default answer "5"
			[B]set[/B] textrt [B]to[/B] text returned [B]of[/B] wieoft
			[B]if[/B] wieoft [B]is[/B] 0 [B]then[/B]
			[B]else[/B]
				[B]exit[/B] [B]repeat[/B]
			[B]end[/B] [B]if[/B]
		[B]end[/B] [B]repeat
set [/B]Repeateinst[B] to [/B]textrt[B]
set [/B]
		
	[B]else[/B]
		[B]if[/B] auswahl [B]is[/B] {"Beenden"} [B]then[/B]
			[B]quit
else[/B]
		[B]end[/B] [B]if[/B]
	[B]end[/B] [B]if[/B]
[B]end[/B] [B]if[/B]






[B]repeat[/B] Repeateinst [B]times[/B]
	[B]do shell script[/B] "purge"
[B]end[/B] [B]repeat[/B]

Der Fehler ist: Die Variable Repeateinst ist nicht definiert.
Diese Einstellung wird doch durch die if jeweils Abfrage definiert??!!!
 
2 grundsätzliche Probleme:
- Es bringt überhaupt gar nichts purge mehrfach auszuführen.
- Seit 10.9 braucht es sudo purge.
 
Außerdem macht es nichts mit dem Arbeitsspeicher, sondern löscht nur den Disk-Cache.
 
Jo, es "sieht" in der Aktivitätsanzeige "halt so aus", als ob dem so wäre, aber dieser Speicher wäre ohnehin frei geworden, wenn benötigt.
Allerdings gehe ich davon aus der TE nutzt etwas älteres als 10.9 (sonst wäre ihm das mit der fehlenden Berechtigung imo schon aufgefallen) und da gab es ja idT ein paar Spezialfälle, in denen du Probleme mit dem inaktiven RAM bekamst.
 
Ok, hab sudo gemacht, aber das geht wegen dem if immer noch ned
 
Habs hinbekommen ;)
Trotzdem danke ;)
 
Und, wieviel RAM hast du jetzt frei und wieviel schneller ist der Rechner jetzt? :rolleyes:
 
Welchen Sinn hat es, den Arbeitsspeicher ständig leerzuräumen?
Ich dachte, Ram ist dazu da um benutzt zu werden...
Wenn man den Cache ständig löscht oder das Ram "aufräumt" kann man doch auch einen Ramriegel ausbauen und fertig...

Also, warum will man ständig irgendwas aus dem Ram werfen?
 
Naja so ein If besteht ja nur aus 2 Buchstabe, das übersieht ein Interpreter schonmal :crack:
 
Weil oft viel sinnloser shit drinnen ist und auch inaktiver speicher oder reservierter, der aber e nie benutzt wird.
Bevor man ein spiel startet einmal den Ram leerräumen und gut ist ;)
 
Weil oft viel sinnloser shit drinnen ist und auch inaktiver speicher oder reservierter, der aber e nie benutzt wird.
Bevor man ein spiel startet einmal den Ram leerräumen und gut ist ;)

Und woher willst du dann wissen das die durch was sinnvolles ersetzt wird?

BTW
Unter Mavericks wird der Speicher max benützt, braucht ein Programm/Dienst mehr Speicher wird automatisch geschaut was im Moment nicht genützt wird und freigemacht für das Programm/Dienst die die Speicher benötigt.
 
Ein spiel hat standartmässig ja immer zb. 512 - 1024, dann wird oft das minimale genommen, obwohl mehr Arbeitsspeicher, kein Swapram das spiel schneller machen würde
 
BTW
Unter Mavericks wird der Speicher max benützt, braucht ein Programm/Dienst mehr Speicher wird automatisch geschaut was im Moment nicht genützt wird und freigemacht für das Programm/Dienst die die Speicher benötigt.

Das ist zumindest die Theorie. Funktioniert unter iOS ja auch nicht richtig. Von daher kann man sich darauf nicht verlassen.
 
Das ist zumindest die Theorie. Funktioniert unter iOS ja auch nicht richtig. Von daher kann man sich darauf nicht verlassen.
Unter OSX tat es das auch nicht, bis 10.9 zumindest. Da wurde an dieser Stelle viel gemacht und inzwischen funktioniert es relativ anständig. Die paar Eckfälle, die nach wie vor ein Problem bereiten können, muss man fast schon produzieren (darüber hatte ich irgendwo hier mal glaub was geschrieben).

Und, wieviel RAM hast du jetzt frei und wieviel schneller ist der Rechner jetzt? :rolleyes:
Das fällt vielen Leuten oft schwer zu erfassen, daher will ich es an der Stelle nochmal gerne für den TE darlegen: der Rechner wird sogar langsamer, weil seine Caches (die ja zur Beschleunigung angelegt wurden), weg sind und er sie neu errechnen wird. x)

Ein spiel hat standartmässig ja immer zb. 512 - 1024, dann wird oft das minimale genommen, obwohl mehr Arbeitsspeicher, kein Swapram das spiel schneller machen würde
Entweder begreife ich nicht, was du meinst, oder du weißt nicht, was du sagst.
 
Ein spiel hat standartmässig ja immer zb. 512 - 1024, dann wird oft das minimale genommen, obwohl mehr Arbeitsspeicher, kein Swapram das spiel schneller machen würde

Das kann ein OS weit besser ermitteln als Du! Leeres RAM ist eine vertane Ressource. Gute OSe nutzen RAM maximal aus. Gute Software ist ohnehin in der Lage dem OS mitzuteilen welche Ressourcen es brauchen wird. Natürlich gibt es immer schlechte Programme und auch schlechte OSe was das angeht. Aber wenn User mir erzählen sie wüßten es besser als die Software muß ich immer herzhaft lachen! Das ist dann oft die selbe Sorte Leute die sich beschweren ein Interpreter würde ihre Kontrollstrukturen nicht erkennen, statt an eigene Fehler zu denken :crack:
 
Dinge wie zb. mein antivirus könnte doch gut swapram laufen, so schnell muss das ja ned sein
 
Dinge wie zb. mein antivirus könnte doch gut swapram laufen, so schnell muss das ja ned sein
Daran ist so viel falsch.

Zum einen kannst du gar nicht beeinflussen, wer "was" bekommt. Dein Spiel alloziert während seiner Laufzeit ständig neue Daten im RAM und nimmt andere wieder raus. Permanent. Die Gesamtmenge an Speicher hält sich bei einem bestimmten Wert konstant (so halbwegs), aber "in" dieser Menge ist ständig "Bewegung". Alloziert es etwas, während dein RAM gerade voll ist, landen auch Teile der Daten deines Spieles im Swap.
Des weiteren braucht ein anderes Programm dann nicht einfach länger, sondern es blockiert. Dann haut der Scheduler den Prozess weg und nimmt den nächsten dran, welcher, wenn er jetzt die Dreistigkeit besitzt mit Werten arbeiten zu wollen, ebenfalls blockiert. Das wird dann so fortgeführt.

Systeme, die beginnen zu swappen, zeigen sich nicht darin, dass 1-2 Programme langsamer laufen, sondern die Permanenz des kompletten Systems degradiert. Daran kannst du nichts ändern. Sofern du den Pager deines Systems nicht änderst, kannst du von außen nicht sagen, wo, wie viel und "welchen" Speicher dein Spiel bekommen soll (sogar für das Spiel selbst dürfte dies transparent sein).
 
Zurück
Oben Unten