Speicherverwaltung von Photoshop

Antworten
Chinasky
Artguy
Beiträge: 3603
Registriert: 29. Mai 2006, 10:55
Kontaktdaten:

Speicherverwaltung von Photoshop

Beitrag von Chinasky » 14. Feb 2012, 18:04

Moin zusammen. Ist ein Technik-Thema, aber in die Hardware-Corner paßt es ja eher nicht rein, weil es speziell um Photoshop geht. Daher hier.

Mir sind ein paar komische Sachen an Photoshop CS5 aufgefallen, was die RAM-Verwendung des Programmes anbelangt.
Am Anfang standen scheinbar nicht reproduzierbare Probleme mit Photoshop. Mal konnte ich tagelang problemlos arbeiten, dann wieder hatte ich an ein und demselben Tag mehrfach das Problem, daß irgendwann eine Fehlermeldung erschien: "Konnte den Speicherbefehl nicht ausführen, da zu wenig RAM vorhanden" (sinngemäß, nagelt mich nicht auf den Wortlaut fest...). Wenn diese Fehlermeldung kam, mußte PS beendet werden, weil es ja keinen Sinn macht, ein nicht speicherbares Dokument weiter zu bearbeiten. Man konnte zwar die Datei ohne zu speichern schließen- aber dann danach kein anderes Dokument erstellen oder öffnen. -> es war unumgänglich, Photoshop zu beenden.

Anfangs dachte ich: Okay, man sollte wohl nicht zuviele Ebenen in einem Dokument haben, oder das Dokument sollte kleiner sein oder...)
Aber irgendwie gab's da keine Zusammenhänge. Denn es konnte passieren, daß die Fehlermeldung bei einem Dokument kam, daß nur zwei, drei Ebenen hatte. Und es konnte sein, daß ich an einem Dokument, des 50 Ebenen hatte, problemlos den ganzen Tag rummalen konnte. Auch das Format eines Bildes hatte anscheinend keinen reproduzierbaren Effekt auf das Problem.

Irgendwann kam ich dann auf die Idee, die Leistungsanzeige des Windows-Task-Manager immer parallel anzeigen zu lassen. Und siehe, ich kam der Sache ein klein wenig auf die Spur: Wenn ich ein Bild in Photoshop bearbeite, steigt die Anzeige für den verwendeten Arbeitsspeicher langsam, aber kontinuierlich an. Schnell und sprunghaft steigt sie an, wenn ich eine kleine Aktion ausführe, die ich mir zum schnellen Flippen per Shortcut gebastelt hatte: Wenn ich ein normales Bild (so 3000 x 2000 Pix groß) zehn, fünfzehn mal geflippt habe, steht die Anzeige schon bei 3,7 GB RAM-Auslastung (wegen eines recht veralteten Mainboards kann ich nicht mehr als 4 GB RAM installieren :( ). So in Regionen ab 3,84 GB RAM-Auslastung wird's brenzlig, da taucht dann in der Regel irgendwann das beschriebene Problem auf.

So, jetzt hab ich mir überlegt: Warum ist das so? Warum wird immer mehr RAM von PS belegt, aber nicht wieder freigegeben? Selbst, wenn ich ein Bild schließe, läßt PS das RAM nicht aus den Klauen!?

Ich kam auf die Idee, die "History states" zu verringern, also die Anzahl der rückgängig zu machenden Arbeitsschritte. Hatte da mal 35 eingestellt. Tatsächlich: Wenn ich diese history states auf 3 verringerte, gelange PS nie an in die kritischen 3,8 GB-RAM-Ausnutzungsregionen. Nur ist das natürlich für meine Art des Workflows indiskutabel. 15 bis 20 Schritte muß ich zurückgehen können, zu häufig setzte ich mal eine falsche Schraffur, die dann wieder ohne viel Umstände zurückgenommen werden kann.

Was also tun? Per Zufall fand ich heraus, daß der "Verflüssigen"-Filter hier eine Art Ausweg bietet. Ich hatte den nur ausprobiert, weil er ja ziemlich rechenintensiv ist, und ich möglichst schnell den "Zu-wenig-RAM!"-Fehler provozieren wollte.
Aber: Wenn ich ich den Verflüssigen-Filter ansetzte, passierte etwas Seltsames: PS gab den besetzten RAM wieder frei! Nicht komplett, aber doch größtenteils. Das Chließen eines Dokuments reichte dafür nicht - aber dieser Filter-Befehl schon. Wie kann das sein?

Noch was ist mir aufgefallen: Wenn ich Windows hochgefahren habe und mir dann gleich die RAM-Auslastung anschaue, werden 1,2 GB angezeigt. Wenn ich PS dann starte, wird logischerweise erstmal mehr RAM verwendet. Wenn ich die Auslastung dann nahe an 4 GB ranbringe und Photoshop dann beende - dann werden plöztlich nur noch ~720 MB RAM von Windows verwendet. Das gleiche Spielchen nochmal - und nach Beenden von PS werden bloß noch 661 verwendete MB RAM angezeigt (jetzt, während ich das hier schreibe...).

Ich habe in den Einstellungen von PS festgelegt, daß PS 90% des physikalischen Arbeitsspeichers verwenden dürfe. "Klaut" sich PS sozusagen RAM von Windows, und gibt es nach Beenden nicht mehr zurück?

Übrigens bin ich mir ziemlich sicher, daß meine spezielle Hardware und Rechnerkonfiguration nicht an diesem häufig auftretenden "Zu wenig RAM"-Fehlerproblem schuld ist, denn es trat auch schon früher bei dem Rechner meines damaligen Arbeitsplatzes auf, und der war wesentlich stärker (8 GB RAM, Intel Core 7i, SSD-Platte usw.) als der hier zuhause (nur 4 MB RAM, AMD-CPU, keine SSD-Platte usw.) war.

Ich werde zukünftig wohl immer den Windows-Task-Manager mit der Leistungsanzeige auf dem Zweitmonitor mit anzeigen lassen und, sobal ich in die kritischen Auslastungs-Regionen gerate, mal kurz den Verflüssigen-Befehl geben. Aber strange ist das schon und mir wär's lieber, wenn man PS anweisen könnte, zwischendurch einfach automatisch nicht wirklich benutzes RAM wieder freizugeben.
Tja - vielleicht hat ja jemand von Euch Anregungen oder eigene Erfahrungen mit seltsamen PS-Sperenzien rund um die Speicherverwaltung...
Es genügt nicht, keine Meinung zu haben. Man muß auch unfähig sein, sie auszudrücken.

tr4ze
Senior Member
Beiträge: 524
Registriert: 17. Okt 2006, 11:23
Kontaktdaten:

Beitrag von tr4ze » 14. Feb 2012, 18:39

90% Physikalischen Speicher is schon ganz schön happig.
Ich hab mal irgendwo gelesen das man nicht mehr als 75% geben sollte, weil es sonst zu Problemen mit dem Windows Speichermanagment kommt.

Chinasky
Artguy
Beiträge: 3603
Registriert: 29. Mai 2006, 10:55
Kontaktdaten:

Beitrag von Chinasky » 14. Feb 2012, 18:44

Mein "Anfangsproblem" hatte ich auch schon (und sogar "gefühlt" öfter), als ich noch die Default-Einstellungen von PS verwendete. Waren, glaube ich, 60% oder so, die PS damals zugeordnet waren.
Es genügt nicht, keine Meinung zu haben. Man muß auch unfähig sein, sie auszudrücken.

MartinH.
Artguy
Beiträge: 3263
Registriert: 28. Mai 2006, 23:15
Kontaktdaten:

Beitrag von MartinH. » 14. Feb 2012, 20:53

ich hab irgendwann mal gelesen das man die einstellung am besten gar nicht anfasst... so hat jeder mal was anderes gelesen ^^.

Noch was ist mir aufgefallen: Wenn ich Windows hochgefahren habe und mir dann gleich die RAM-Auslastung anschaue, werden 1,2 GB angezeigt. Wenn ich PS dann starte, wird logischerweise erstmal mehr RAM verwendet. Wenn ich die Auslastung dann nahe an 4 GB ranbringe und Photoshop dann beende - dann werden plöztlich nur noch ~720 MB RAM von Windows verwendet. Das gleiche Spielchen nochmal - und nach Beenden von PS werden bloß noch 661 verwendete MB RAM angezeigt (jetzt, während ich das hier schreibe...).
windows verwendet nicht nur deinen physischen arbeitsspeicher, sondern auch virtuellen arbeitsspeicher (auf der festplatte). nach dem start sind da einige sachen im normalen arbeitsspeicher, sicher auch einiges was nicht nonstop im leerlauf gebraucht wird. wenn photoshop dann nach ram schreit weil es so viele temporäre daten mit history states füllt, dann schichtet windows kram den es nicht im arbeitsspeicher braucht um in den virtuellen arbeitsspeicher auf der festplatte. wenn du ps dann schließt ist dieser speicherinhalt immernoch im virtuellen speicher, es besteht ja keine notwendigkeit den zurückzuholen ohne das das system tatsächlich darauf zugreifen will. nach ner weile normaler benutzung geht das vermutlich auch wieder hoch.
photoshop verwendet physischen arbeitsspeicher soweit ich weiß auch virtuellen arbeitsspeicher, und eigene temp dateien. unter "preferences -> performance -> scratch disks" kannst du auswählen auf welchen platten diese temporären daten liegen sollen. da empfiehlt es sich mehrere anzuhaken und vor allem eine platte nach oben zu schieben die folgendes erfüllt:
-nicht die systemplatte
-nicht die platte auf der die windows auslagerungsdatei für den virtuellen speicher liegt (pagefile.sys)
-nicht die platte auf der du deine dokumente speicherst
-von den verbleibenden platten dann natürlich erstmal die schnellste, dann zweitschnellste usw..

non-ssd festplatten tun sich sehr schwer damit gleichzeitig zu lesen und zu schreiben, das verringert die performance drastisch. daher ist es besser diese vorgänge so gering wie möglich zu halten.

das mit dem liquify filter klingt merkwürdig und kann ich mir auch nicht erklären. ich kann es auch nicht reproduzieren. aber ich kann dir sagen wie die saubere lösung zum ram leeren in ps theoretisch wäre:
"edit -> purge -> all"
damit gehen auch alle history steps verloren.

ich habs gerade getestet, interessanter weise ändert sich an der speichernutzung dadurch nichts. die history states sind zwar weg, aber ram und scratchdisk files bleiben bei 4,5 respektive 9,4 gb bei meiner testdatei.
der schluss liegt nahe das photoshop auch keinen speicher freigibt wenn kein dringender grund vom system geliefert wird. das bild zu schließen ändert auch erstmal nix.
ich schick schonmal den post ab weil mir gleich vielleicht was abstürzt, ich starte nämlich jetzt mal meine ramhungrigste applikation neben ps.
edit:
die situation ist jetzt das ps über 4gb ram belegt, ich hab 8 im system, in ps ist kein dokument auf, also besteht kein grund warum es so viel ram brauchen sollte. das audioprogramm was ich gestartet hab klettert jetzt auf gute 5gb ram nutzung hoch, wobei parallel die ram nutzung von ps runtergeht, quasi um "platz zu machen". interessant dabei ist nur das der prozess abartig das system in die knie zwingt und sogar der mauszeiger sporadisch hängen bleibt. die ganze zeit hör ich die festplatte rattern, dabei liegen meine audio libraries die da geladen werden fast alle auf ner ssd die nicht rattern kann.

abschließend sei noch gesagt das ich vermute, dass dein problem an mangelndem platz auf den scratch disk laufwerken liegt und du mal probieren könntest da neue zuzuweisen und die cache levels auf 3 oder 4 runterzudrehen.

Chinasky
Artguy
Beiträge: 3603
Registriert: 29. Mai 2006, 10:55
Kontaktdaten:

Beitrag von Chinasky » 15. Feb 2012, 18:23

Danke für Deine Versuche! :)
Das, was Du da bezüglich der von Windows beanspruchten Ressourcen schreibst, leuchtet mir ein. Hab gestern mal den ganzen Tag immer die Leistungsanzeige laufen lassen, auch, nachdem ich PS beendet hatte. . Nach und nach hat sich Windows wieder mehr Speicher gekrallt (am Ende waren's ungefähr 900MB, also immer noch 300 MB weniger, als zu dem Zeitpunkt gleich nach dem Systemstart).

Die Cache-Level hab ich schon auf 4 stehen (ist, glaube ich, defaul-Einstellung, kann das sein?). Die Festplatte für die Auslagerungsdatei hat noch fast 400 GB Platz - da sollte also eigentlich kein Problem bestehen, oder?

Hast Du die Sache mit dem liquify-Tool mal ausprobiert? Und bei Dir ließ sich der von mir konstatierte Effekt da nicht reproduzieren? Hhm, komisch... Die "purge"-Möglichkeit, die Du da beschreibst, hatte ich auch schon ergoogelt. Funzte bei mir allerdings nicht, wobei ich die wohl ausprobierte, als ich schon den Hänger von PS akut hatte und irgendwie verzweifelt nach einer Lösung suchte, die letzten 2 Stunden Arbeit, die ich mal wieder dämlicherweise ohne Sicherheitssave in ein Bild gesteckt hatte, irgendwie zu erhalten... Muß jetzt mal ausprobieren, ob das funktioniert, solange man noch normal mit PS arbeiten kann. Moment....

Nein, funktioniert nicht. :( Die Liquifi-Methode funzt, aber nicht vollkommen. Bei 3,5 GB belegt vorher habe ich nachher ~2,4 GB belegt. Tja, keine Ahnung, woran das liegt.
Es genügt nicht, keine Meinung zu haben. Man muß auch unfähig sein, sie auszudrücken.

MartinH.
Artguy
Beiträge: 3263
Registriert: 28. Mai 2006, 23:15
Kontaktdaten:

Beitrag von MartinH. » 15. Feb 2012, 20:25

sehr merkwürdig das ganze. ich schlage vor du versuchst dein glück mal im adobe forum. da wird man dich vermutlich zwar erstmal mit dem üblichen "wir sinds nicht schuld, photoshop hat keine fehler, installier aktuellere treiber!" abspeisen, aber ein versuch ists trotzdem.

Benutzeravatar
Duracel
Beiträge: 2971
Registriert: 29. Mai 2006, 10:35
Wohnort: Greven
Kontaktdaten:

Beitrag von Duracel » 18. Feb 2012, 15:27

Aufjedenfall interessante Ausführungen ... also daran, dass Photoshop unerwartet abstürzen kann, habe ich mich zwangsweise gewöhnt; ich könnte mir aber vorstellen, dass es auf einen ähnlichen Grund zurückzuführen ist.
Ziel ist, woran kein Weg vorbeiführt.

MartinH.
Artguy
Beiträge: 3263
Registriert: 28. Mai 2006, 23:15
Kontaktdaten:

Beitrag von MartinH. » 18. Feb 2012, 15:35

cs2 lief bei mir nahezu absturzfrei, und ich hab es viel benutzt. alles was danach kam crashed hin und wieder bei mir. daran werd ich mich nie gewöhnen!
was du mal testen kannst wenn du den nerv dazu hast ist unterschiedliche versionen der visual c++ redistributables zu testen. das hat mir schonmal deutlcih die stabilität verbessert.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder