Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Hardware>Speicherauslastung (RAM) manipulierbar?

Speicherauslastung (RAM) manipulierbar?

Offshore
Offshore08.12.0721:21
Hallo Gemeinde, ich iStat installiert, ganz pfiffige Sache - alle Systemeckdaten im Überblick bei ansprechender Oberfläche ( ). Jetzt fällt mir auf, dass auch die ressourcenhungrigsten Programme (Video-Kodierung, Rendering) meine mickrigen 2GB RAM nicht ausnutzen, iStat zeigt immer ca. 1,1GB freien RAM an. Soll das so (damit zB andere Anwendungen noch starten können), oder ist da RAM reserviert für's System? Ich will den teuer bezahlten RAM jetzt endlich mal in die Knie zwingen!
0

Kommentare

oefinger
oefinger08.12.0721:49
Jedes Programm benutzt (etwas vereinfacht) genau soviel Speicher, wie es für seine jeweilige Aufgabe benötigt. Wenn also ein Programm 500MB Daten im Speicher hält, dann macht es keinen Sinn, dass das System ihm mehr gibt bzw, auch das Programm hat keinen Grund, mehr Speicher zu fordern.

Etwas komplizierter wird es dadurch, dass OS X nicht nur den Arbeitsspeicher (RAM) benutzt, sondern auch auf die Festplatte auslagert, wenn das System es für sinnvoll hält.

Mit entsprechend komplexen 3D-Objekten sollte es aber kein Problem sein, mickrige 2 GB voll zu kriegen
0
Offshore
Offshore08.12.0721:56
Komplex ist Video-encoding vielleicht nicht, mich wundert aber, dass sich ein Job, der 50 Minuten bei Nutzung von lediglich 1GB RAM dauert, nicht auch in 25 Minuten bei Nutzung des noch freien, weiteren 1GB erledigen lassen sollte... Bach Deiner Ansicht wäre also das Programm der limitierende Faktor (irgendwo sagt der code: 'nutze max. 1 GB RAM').
0
oefinger
oefinger08.12.0722:04
RAM und Rechengeschwindigkeit haben (fast) nichts miteinander zu tun. Der Prozessor kann nur auf Daten im RAM wesentlich schneller zugreifen als auf Daten z.B. auf einer Festplatte.

Beim Videoenkodieren ist es so, dass sehr komplexe (und daher lange) Berechnungen auf wenigen Daten durchgeführt werden. Vereinfacht lädt das Programm ein Bild des Films, kodiert das neu und schreibt dann das umkodierte Bild wieder zurück. Jedes Bild muss also genau einmal gelesen und geschrieben werden. Es macht also keinen Sinn, mehr im RAM zu halten als das aktueöll benötigte Bild, im Gegenteil, wenn das Programm versucht, viele Bilder im RAM zu halten und der RAM nicht reicht, dann wird es sehr vie langsamer, im bsten Fall (alle Bilder passen ins RAM) aber kein bisschen schneller
0
Knork08.12.0722:54
...oder um es etwas blumiger zu sagen:

Auf einer wenig befahrenen Autobahn mit zwei Fahrspuren pro Fahrtrichtung ohne Geschwindigkeitsbegrenzung kann man mit einem schnellen PkW durchaus 200...250 km pro Stunde fahren.

Wenn wir die Autobahn nun von 2 auf sagen wir 20 Fahrspuren verbreitern, wie schnell können wir dann mit dem gleichen PkW sein?

Richtig. Wieder 200...250 km pro Stunde.

Um die Fahrspuren auszulasten, benötigst Du mehr Fahrzeuge - sprich: komplexere Daten.

Videodaten sind nicht komplex (= nicht sonderlich groß pro Bild), Videodaten sind nur viel, dies aber "hintereinander".

Mach Bildbearbeitung auf 20 und mehr Ebenen, und Deine 2GB sind voll.

Mach was mit komplexen 3D-Szenen, und wieder wird Dein Speicher überlaufen.

Video/Audio sind harmlos.
0
oliver
oliver08.12.0723:07
lade dir bei adobe die photoshop-CS3-demo, dann bekommst du den speicher beim ausführen von PS definitiv voll!
„multiple exclamation marks are a sure sign of a diseased mind. -- terry pratchett“
0
Offshore
Offshore09.12.0720:28
oefinger & knork: Danke für die bildliche Erklärung. Sinnig wäre es doch aber nun, in Abhängigkeit vom verfügbaren RAM MEHR als 1 Bild gleichzeitig zu bearbeiten (und damit im RAM zu halten), oder?
0
Offshore
Offshore09.12.0720:48
Man gut, dass ich Dual Core habe
0
oefinger
oefinger09.12.0721:16
Ein Dual-Core entspricht zwar (beinahe) zwei CPUs, allerdings gibt es auch dort Einschränkungen: Beispielsweise verändert sich die Geschwindigkeit nicht, mit der Daten ins RAM gelesen bzw. geschrieben werden können. Auch gibt es nur wenige Algorithmen, die sich einfach und effizient parallelisieren lassen. Meist muss ein CPU-Kern warten, etwa auf Daten oder auf Ergebnisse von Berechnungen. Deshalb rechnet ein 8 core Rechner auch nicht 8 mal schneller, sondern je nach Aufgabenstellung ist die Beschleunigung gegenüber einem Rechner mit einem oder 2 cores nicht messbar bis zu deutlich spürbar. Immer natürlich bezogen auf eine Aufgabe.
Hinzu kommt, dass auch Prozessoren oder Cores davon aus mehreren Einheiten bestehen, die z.T. unabhängig voneinander Berechnungen anstellen können oder durch Techniken wie SSE oder Altivec in einem Rechenschritt ganze Vektoren von Daten verarbeiten können.

Da zudem auf eigentlich allen Ebenen (Prozessor, Chipsatz, OS, Anwendung) versucht wird, durch Optimierungen möglichst maximale Leistung zu erzielen, ist es eigentlich unmöglich, theoretisch die Leistung eines Programmes abzuschätzen.

Das ist z.B. auch der Grund, warum die meisten Supercomputer mit der Zeit immer schneller werden, obwohl an der Hardware nichts verändert wird, man nur einfach genauer versteht, wie man die Software gestalten muss, damit sie auf einem bestimmten System maximale Leistung bietet.

Jetzt bin ich etwas abgeschweift, eigentlich wollte ich sagen, dass Computer noch so schnell werden können, es ist immer möglich, Software oder Probleme zu formulieren, die diesen Computer bis an die Grenzen bringen werden. Ob nun eher die Rechenleistung der CPU oder der verfügbare Arbeitsspeicher oder die Geschwindigkeit, mit der Daten herumgeschoben werden könne das Nadelöhr ist, hängt vom Rechner und dem betrachteten Problem/Programm/Algorithmus ab

Gängige Videoenkodier Programme nutzen aber im Allgemeinen mehrere Kerne recht effizient aus, da vergleichsweise wenig Daten verarbeitet werden müssen, also mehrere Kerne ihre Rechenleistung voll ausnutzen können, anstatt auf Daten zu warten.
0
Offshore
Offshore09.12.0721:24
Dank Dir, oefinger - das erklärt es auf den Punkt. Man muss also wissen, wofür man mehr CPU-GHz will, und wofür mehr RAM. Vereinfacht ausgedrückt: ein Programm, dass auf einem Rechner X mit 2GB installiertem RAM nur ein 1GB RAM auslastet, wird auch nur 1 GB nutzen, selbst wenn 4 GB verbaut wären?
0
oefinger
oefinger09.12.0722:01
exakt

0
Offshore
Offshore09.12.0723:59
oefinger: Man lernt nie aus. Dank Dir für die wirklich umfangreiche Aufklärung, jetzt wird mir einiges klar, was mich so in letzter Zeit umgetrieben hat. Man gut, dass ich mir nicht den Mac Pro mit 4 Quad-Cores geholt hab
0
bernddasbrot
bernddasbrot10.12.0700:43
Danke auch von mir an @@ oefinger und @@ Knor (und @@ Offshore für die Fragen).

Jetzt muss ich wohl mal mit 3D-Sachen anfangen, damit meine 4GB RAM nicht einrosten ...

Hatte mich auch schon gewundert, dass die Auslastung so gering ist.

Bringt Roseeta noch einmal Schwung in den Laden, sprich: frisst Ressourcen?
0
oefinger
oefinger10.12.0713:07
Eine kurze Anmerkung noch: Meine Erklärungen bezogen sich in der Hauptsache darauf, das (neben dem System) nur 1 anderes Programm aktiv ist. Wenn man (was realistisch ist) annimmt, dass z.B. Safari, Mail, Word und Parallels gleichzeitig laufen, dann wird man dankbar sein, wenn alle Programme gleichzeitig im RAM Platz finden. Zwar brauchen diese Programme relativ wenig CPU Zeit, aber wenn man nicht genug RAM hat, dann muss das System immer wenn man ein Programm wechselt erst wieder Platz im RAM für dieses Programm schaffen und dafür Teile der Daten im Arbeitsspeicher auf die Festplatte schreiben, was zu diesem schönen bunten Beachball führt und flüssiges Arbeiten doch sehr unangenehm unterbrechen kann.
Auch wenn mehr RAM also einzelne Programme (ab einem gewissen Punkt) nicht mehr beschleunigen kann, so kann es doch das Arbeiten mit mehreren Programmen nebeneinander sehr viel angenehmer gestalten.
0
Bleistift09.12.0720:36
Offshore<br>
oefinger & knork: Danke für die bildliche Erklärung. Sinnig wäre es doch aber nun, in Abhängigkeit vom verfügbaren RAM MEHR als 1 Bild gleichzeitig zu bearbeiten (und damit im RAM zu halten), oder?

Eine CPU kann aber pro Kern nur eine Aufgabe meistern... Da ist nichts mit gleichzeitig
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.