prinzipielle Funktionsweise von OS X - Arbeitsspeicher

Dieses Thema im Forum "Mac OS X" wurde erstellt von till bill, 21.01.2004.

  1. till bill

    till bill Thread Starter MacUser Mitglied

    Beiträge:
    3
    Zustimmungen:
    0
    MacUser seit:
    02.12.2003
    hello,

    würde gerne mal verstehen wie sich die Zuteilung von Arbeitsspeicher unter OS X gestaltet!!!
    wenn ich z.B. Apfel-I auf das Photoshop Programm-Symbol mache, bekomme ich WIE UNTER OS 9 eine Box u.A. mit dem Punkt "Speicher". Dazu die bekannten Felder "Minimale-" und "Bevorzugte Grösse". Leider kann ich die Einträge aber nicht ändern (obwohl das Programm geschlossen ist), und Photoshop scheint nur 50 mb zu benutzen, obwohl ich mit herrlichen 896 mb ausgerüstet bin!!!

    Also meine Frage: kann man unter OS X den Arbeitsspeicher manuell zuteilen oder macht der das automatisch? Wenn es möglich ist, woran liegt es dann, dass es bei mir nicht geht???

    bitte helft mir!

    danke,
    till
     
  2. norbi

    norbi MacUser Mitglied

    Beiträge:
    3.506
    Zustimmungen:
    22
    MacUser seit:
    14.01.2003
    Die Speicherzuteilung bezieht sich auf die Option "in Classic öffnen" im Informationsfenster, also "unter OS9".
    Unter OSX brauchst Du Dich um die Speicherzuteilung nicht zu kümmern.

    Wenn Du die Speicherbenutzung von Programmen (oder am ganzen Mac) angucken willst, benutze die "Aktivitäts Anzeige" in den Dienstprogrammen. Ändern kannst Du da aber, wie gesagt, nix.

    No.
     
  3. FloHausBY

    FloHausBY MacUser Mitglied

    Beiträge:
    179
    Zustimmungen:
    0
    MacUser seit:
    15.01.2004
    Oder mit dem Terminal...

    Oder du gibst im Terminal folgende Befehle ein:
    top
    ps aux
     
  4. BEASTIEPENDENT

    BEASTIEPENDENT MacUser Mitglied

    Beiträge:
    1.948
    Zustimmungen:
    5
    MacUser seit:
    26.10.2003
    für ps teilst du den speicher in den ps-einstellungen zu - standardmäßig sind da glaub ich läppische 50 mb eingesellt, ja.

    die speicheraufteilung aller threads und prozesse kannst du dir wunderbar über die aktivitätsanzeige anschauen (gehört IMO in jedes dock), zu finden unter dienstprogramme/utilities.

    HTH
     
  5. till bill

    till bill Thread Starter MacUser Mitglied

    Beiträge:
    3
    Zustimmungen:
    0
    MacUser seit:
    02.12.2003
    terminal

    ok, also die Aktivitätsanzeige kenne ich bereits, da habe ich ja auch gesehen, dass Photoshop nur 50 mb physik. Speicher benutzt. Was heisst da eigentlich virtueller Speicher? Nimmt der sich das von der Festplatte oder vom RAM? (In Photoshop kann ich gar keinen virtuellen Speicher ein- oder ausstellen) Und kann man OSX Programme auch unter Classic benutzen, oder wofür habe ich da bei Apfel-I die Felder zum manuellen Eintragen des Speichers?...


    Verstehe ich das jetzt richtig, dass man über ein "TERMINAL" doch manuell den Speicher zuteilen kann?
    Das hört sich sehr gut, aber irgendwie kompliziert an...
    Ahhh, Terminal hab ich schonmal gefunden, aber jetzt....
    Was muss ich machen?

    Vielen Dank schonmal für die Sachdienlichen Hinweise!!!
     
  6. norbi

    norbi MacUser Mitglied

    Beiträge:
    3.506
    Zustimmungen:
    22
    MacUser seit:
    14.01.2003
    "Was muß ich machen?"

    NICHTS! :)

    No.
     
  7. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    hallo zusammen drumm

    die möglichkeit den programmen den arbeitsspeicher selbst zuzuteilen oder gar die größe des virtuellen speichers festzulegen wurde von apple den usern immer geschickt als besonderes feature verkauft.

    in wirklichkeit ist das einer der (wenigen) echten bugs im klassichen mac os.
    die folge ist zB dass bei speicherschutzverletzungen alle programme inclusive betriebssystem betroffen sind, und der rechner in der regel einfriert und neu gestartete werden muss.
    ein weiteres problem war, dass das alte mac os den arbeitsspeicher den ein programm verwendet noch nicht einmal zur laufzeit anpassen konnte

    gute betriebssysteme (wie mac os x) beherschen aber eine wesentlich effizientere art der speicherverwaltung, die sich unter anderem in geschützten speicherbereichen mit gertennten speicheradressireungen für jedes programm auswirkt -
    jedes bit des arbeitsspeichers (auch des auf die platte ausgelagerten speichers) muss adressierbar sein - gelsesen werden aber niemals einzelen bits, sondern sogenannte cluster - die größe der cluster bestimmt u. a. wieviel speicherplatz für die kleinstmögliche datei verbraucht wird (oft 4k)

    folge des ganzen: geschützte speicherbereiche sorgen dafür, dass wen ein programm eine fehladressierung durchführt, werden nicht speicherbereiche überschrieben, die dem betriebssystem oder anderen programmen zugeordnet sind, un der rechner stürzt nicht ab.
    weitere folge, man kann soviele programme öffnen wie man will, die meldung "nicht genug arbeitsspeicher, beenden sie erst ein anderes programm um speicher freizugeben" gehört der vergangenheit an

    lange rede kurzer sinn:
    sei froh, dass du dich um sowas nicht kümmern muss, sondern apple inzwischen ein system ausliefert, welche dieses konzept (echte virtuelle speicherverwaltung mit geschützten adressräumen) beherrscht (gibts ja immerhin schon seit rund 40 jahren, es wurde mitte der 60er entwickelt)
     
  8. till bill

    till bill Thread Starter MacUser Mitglied

    Beiträge:
    3
    Zustimmungen:
    0
    MacUser seit:
    02.12.2003
    Hallo,

    das war ja wirklich mal ein informativer Eintrag!

    mein Problem ist aber einfach, dass wenn ich mit Programmen wie After Effects arbeite, wo z.B. Rendervorgänge ablaufen, dass nur ein kleiner Teil meines eingebauten Speichers benutzt wird und ich dann vielleicht auf den Rechner warte, obwohl es eigentlich viel schneller gehen könnte!!?!?

    till
     
  9. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    hallo zusammen drumm

    hier noch ein kurzer nachtrag -
    das programm das du verwendest, scheint sehr effizient zu arbeiten

    früher dachten viele programmierer ein programm sei dann gut, wenn es den vorhandenen speicher und die prozessorzeit möglich stark in anspruch nimmt -
    das genaue gegenteil ist eigentlich der fall -
    gute programme verwenden möglichst wenig arbeitsspeicher und prozessorzeit-

    tatsache ist, dass beim sogenannten kooperativen multitasking (altes mac os - gute vermarktung, denn kooperativ klingt gut) das programm und nicht etwa das betriebssystem entscheidet, wann es den prozessor (oder andere resourcen) wieder freigibt (unter umständen, nämlich dann, wenn das progamm in einer toten schleife läuft, gar nicht mehr -> folge rechner friert ein).

    beim sogenannten präemtiven multitasking (mac os x) entscheidet das betriebssystem als oberste instanz über die verwaltung von ressourcen (eben auch prozessorzeit und RAM).
    es werden an prozesse - abhängig vom sogenanten nice-wert - mehr oder minder große oder viele zeitscheiben vergeben
    darüber hinaus geben gute programme arbeitsspeicher wieder frei, wenn sie auf andere, langsamerer resourcen warten müssen.

    ein beispiel: es macht keinen sinn, wenn ein grafikprogramm prozessorzeit beansprucht, während es nur darauf wartet, dass endlich diese lahme festplatte (oft faktor hunderttausend) die daten liefert -
    wenn es ein gutes programm ist, meldet es dem betriebssystem :
    ich brauche mein zeitscheibe nicht mehr- denn ich warte auf daten der festplatte (oder den lahmen controller, oder die grafikkarte oder .. oder .... oder ) -
    folge: das betriebssystem teilt diese zeit einem anderen prozess zu-

    der selbe ablauf passiert noch einmal eine ebene tiefer im sogenannten multi-threading, aber ich denke, das führt hier zu weit-

    was rendering programme angeht, so ist es so, dass diese programme oft ihre hauptarbeit den grafikprozessoren auf der grafikkarte oder coprozessoren aufhalsen - oder anders gesagt, sie müssen einfach nicht mehr arbeitsspeicher oder prozessorzeit verwenden, um effizient die hardwaresysteme auszunützen.

    und noch was:
    daten die über den pci bus oder über controller gehen, habe ihren flaschenhals an der geschwindigkeit dieser subsysteme,

    versuche es doch mal so zu sehen:
    du fährst mit dem auto doch im stadtverkehr auch nicht im ersten gang, nur damit du die drehzal konstant im roten bereich halten könntest (= maximale ausnutzung des ram).
    und selbst wenn (klassische mac so), du würdest nicht eine sekunde schneller ankommen -

    ich geb zu, der vergleich hinkt ein wenig, ich denke aber er zeigt das prinzip

    ziel ist doch optimale ausnutzung der sytemresourcen als ganzes - oder ?


    und nun noch ein tip, speziell für dich und dein rendering -
    über den sogenannten nice wert, kannst du den prozessen vor anderen prozessen eine höhere priorität einräumen -
    einfach gesegt, sie werden vom betriebssystem öfter als andere prozesse gefragt:
    "brauchst du jetzt gerade prozessorzeit?"
    wenn der nice wert niedrig ist, heisst es, dass der prozess zu anderen prozessen wenig nett ist und somit bevorzugt abläuft

    bringt aber nur dann, was , wenn andere prozesse laufen, die auch prozessorzeit beanspruchen.

    machen kannst du das nur als root über terminalkommandos

    mit dem befehl
    ps axl
    erhältst due ein liste aller laufenden prozesse in der der nice wert in einer spalte angezeigt wird.

    mit dem befehl
    renice -20 <pid>

    setzt du den nice-wert des prozesse mit der prozess-id pid auf den niedrigts möglichen wert von - 20
    -> das heisst: er wird maximal bevorzugt
    das bringt diesem prozess u. U. ein wenig mehr prozessorzeit ein -
    bringt aber nur dann was, wenn er diese auch tatsächlich brauchen kann

    - alles klar ? :D

    ach da fällt mir noch was ein:
    mit dem befehl
    vm_stat
    kannst du statistische daten abfragen, wie effiziebt der RAM (insbesondere das virtuelle RAM) derzeit verwendet wird -carro

    - have fun
     
Die Seite wird geladen...
Ähnliche Themen - prinzipielle Funktionsweise Arbeitsspeicher
  1. Waffeln
    Antworten:
    4
    Aufrufe:
    1.153
    AgentMax
    13.03.2015
  2. iPhill
    Antworten:
    10
    Aufrufe:
    2.094
    alphabeta
    13.11.2015
  3. dirkt
    Antworten:
    10
    Aufrufe:
    1.474
    dirkt
    31.10.2011
  4. FunFactory
    Antworten:
    37
    Aufrufe:
    3.126
    le_petz
    18.11.2010
  5. Bernd68
    Antworten:
    12
    Aufrufe:
    2.374
    sk96
    14.09.2008