Geheugengebruik 64-bit mode applicaties in OS X 10.6

Het feit dat Snow Leopard 64-ondersteunt, betekent dat alle applicaties standaard in 64 bit modus draaien. Het geheugengebruik is daardoor behoorlijk. Nu weet ik dat je middels de 'Open in 32-bit mode' de applicaties in 32 bit modus kan draaien.

Voor programma’s als voorvertoning, Safari etc. scheelt dit enorm veel geheugengebruik. M’n Macbook draait immers toch op 32 bit. Nu is het probleem dat veel programma’s onmogelijk in 32-bit mode zijn te draaien. Waarom de Finder.app, Dock.app etc.

Heb het vinkje aangezet, maar in de activiteitenweergave staat nog steeds ‘Intel 64-bits’.
Na een paar dagen uptime loopt het geheugengebruik van Finder dan ook snel richting de 100 mb, waar dit bij Leopard amper boven de 30 mb uitkwam. Kortom het geheugengebruik van OS X 10.6 is behoorlijk en het inactieve geheugen loopt alleen maar op en wordt zelden minder. Applicaties sluiten maakt daarvoor niets uit.

Wie ervaart dit ook en heeft een oplossing om applicaties toch in 32-bit mode te kunnen draaien?

Waarom is het erg dat het geheugengebruik behoorlijk is?

Onder Leopard was het ook zelden dat de Finder onder de 100 MB bleef bij mij.

Inactief geheugen kun je ook als vrij rekenen, als het nodig is, wordt dat gewoon overschreven, lees dit maar eens door.

Ik kan dit er wel meteen bij zetten trouwens, die goeie ouwe unSOUND :wink:

[quote:3208835ca3=“unSOUND”][quote:3208835ca3=“gepeterd”]Maar wanneer ik het programma afsluit, komt het geheugen maar beperkt terug. Waardoor ik uiteindelijk maar met een MB of 20 a 30 vrij geheugen rondfiets. Hierdoor wordt mijn mac erg traag. [/quote:3208835ca3]
Dat jouw Mac trager wordt heeft vrijwel zeker niet met die 30 MB vrij te maken. Er is meer geheugen beschikbaar, maar dat wordt pas vrijgemaakt wanneer dat nodig is, niet eerder. Het heeft immers weinig zin als je 4 GB Ram hebt waarvan je maar de helft gebruikt…

[quote:3208835ca3=“gepeterd”]Zijn er oplossingen voor?[/quote:3208835ca3]
Nee, want er gaat niks mis aan de kant van OS X. Wat er mis gaat, is dat men niet snapt hoe OS X met Ram om gaat en vervolgens DENKT dat er iets mis gaat. Een probleem puur als gevolg van iemand die zich met het systeem wil bemoeien zonder echt te snappen hoe het werkt… ( Dit is verder niet lullig bedoeld hoor, maar het laat zien hoe vaak mensen denken dat er een probleem is, zonder dat ze echt reden hebben om te denken dat er een probleem is )

[b:3208835ca3]Een paar simpele weetjes:[/b:3208835ca3]

• OS X probeert altijd om al je Ram te verdelen. Dat je bijna niks over hebt is dus niet vreemd. Ram wordt continu verdeeld, omdat dit in de praktijk efficiënter werkt dan Ram steeds leeg maken. Waarom staat hieronder:

• Men heeft vaak slechts een aantal programma’s die hij/zij gebruikt, dus wordt het geheugen van dat programma bewaard, ook al sluit je de software af. Dit is om te zorgen dat als je die software na het afsluiten toch weer besluit op te starten, die gelijk het geheugen weer kan aanspreken waardoor het sneller werkt. Start Safari maar eens op na een reboot, en sluit het af. De tweede keer dat je het opstart zal het sneller opstarten.

• Mocht het zo zijn dat het geheugen helemaal verdeeld is, en je nieuwe software opstart die Ram nodig heeft, dan zal OS X wat van het bewaarde geheugen vrijmaken voor dat nieuwe programma. Het is dus niet zo dat dat nieuwe programma enkel virtueel geheugen moet gaan gebruiken omdat het “echte” geheugen nog toegekend is aan een programma wat je al afgesloten hebt.

• Ieder stukje software gebruikt echt geheugen en virtueel geheugen. Dit is niet omdat je te weinig Ram hebt, maar omdat OS X alleen echt Ram toewijst aan zaken die snel geladen moeten worden. Zaken die minder snel geladen hoeven te worden gaan naar het virtuele geheugen, zodat meer Ram overblijft om aan andere software te geven.[/quote:3208835ca3]

Ik snap ook niet waarom je denkt dat een 64-bits applicatie per sé meer geheugen zou verbruiken dan een 32-bits applicatie.

[quote:a6c8fe83f7="cailin coilleach"]Ik snap ook niet waarom je denkt dat een 64-bits applicatie per sé meer geheugen zou verbruiken dan een 32-bits applicatie.[/quote:a6c8fe83f7] Theoretisch gezien gebruiken 64-bits objecten 2 maal meer geheugen, maar dat geldt niet altijd… Een test van mij heeft uitgewezen dat Leopard (10.5) zonder extra programma's 300 MB meer verbruikt op een 64-bits systeem dan op een 32-bits. Snow Leopard gebruikt meer 64-bits, dus het [b:a6c8fe83f7]zou[/b:a6c8fe83f7] kunnen dat het verbruik [i:a6c8fe83f7]nog[/i:a6c8fe83f7] hoger is. Hoewel, er zijn mensen die melden dat 64-bits soms voor minder verbruik zorgt (efficiëntie).

Phew… Het zoveelste controversieel onderwerp! :stuck_out_tongue:

[quote:9f034204af]Theoretisch gezien gebruiken 64-bits objecten 2 maal meer geheugen, maar dat geldt niet altijd…[/quote:9f034204af] Nee, theoretisch gezien is het met 64-bits systemen mogelijk om 2 keer zoveel informatie in één klap te verwerken dan met 32-bits. ;)

Wat je zegt: NOG een onderwerp om over te bakkeleien! :smiley:

[quote:340dfe1a59="sally"]Waarom is het erg dat het geheugengebruik behoorlijk is?[/quote:340dfe1a59] Omdat het extreem irritant is wanneer je geld naar voren schuift voor 8 GB geheugen het ook daadwerkelijk gebruikt wordt door je Mac. Het is gewoon de bedoeling dat ±6 GB gewoon altijd op "Idle" staat. :wink:

[quote:082a45ac62="cailin coilleach"]Ik snap ook niet waarom je denkt dat een 64-bits applicatie per sé meer geheugen zou verbruiken dan een 32-bits applicatie.[/quote:082a45ac62]

Dat heeft met de instructieset te maken, ik ken de technische onderbouwing niet precies, maar door de 64 bits instructies wordt er meer geheugen gebruikt. Start Safari maar eens op in de standaard 64 bit mode met Google als startpagina:
51 MB, hetzelfde, maar dan in 32 Bit mode, 18 MB. Dat lijkt erg weinig, maar als je b.v. 20 programma’s open hebt is ook 4 GB geheugen snel weg. Het verschil met Leopard is behoorlijk namelijk.

@TS: Ik draai Leopard, en met slechts 6 vensters open (dit gegeven is nogal belangrijk) vraagt de Finder ±127MB. Firefox daar in tegen met slechts 1 venster open (en 2 tabs) slokt veel meer op (±400 MB). Als een applicatie in 64 bit mode draait, gebruikt hij niet echt meer dan 32 bit. Het verschil zit hem in het feit dat 'memory handles' (dat zijn adressen die naar adres pointers wijzen, een vorm van geheugen beheer) [i:d4628c6abb]zelf[/i:d4628c6abb] [b:d4628c6abb]tweemaal[/b:d4628c6abb] zoveel ruimte in beslag nemen. (zowel de handles dus als de adressen zelf). Dit betekent dat als een programma in 32 bit 250 verschillende handles heeft deze op zich 4x250 (1 byte is 8 bits, dus 4 = 32) dus 1000 bytes aan geheugen vragen (zeg 1K). Maar het zelfde programma in 64 bits vraagt voor deze data dus 2K. Aangezien de data in 64 bits kan worden opgeslagen (ook al past er met gemak 32 in) heeft een 64 bits programma een veel grotere 'overhead' dan 32 bits. Een 64 bits programma [b:d4628c6abb]gebruikt[/b:d4628c6abb] dus niet daadwerkelijk meer geheugen, maar [b:d4628c6abb]verbruikt[/b:d4628c6abb] [i:d4628c6abb]wel[/i:d4628c6abb] een bepaald percentage meer geheugen voor de opgeslagen data. En deze 'overhead' zul je het snelst merken bij programma's die relatief weinig gebruiken, zoals de Finder, en minder snel bij programma's die al reeds veel gebruikten zoals Firefox.

Goede uitleg. Ik snap wat je bedoelt. Punt is wel, althans vind ik, dat je met de applicaties in 64 bit, relatief snel het geheugen op gebruikt en het swappen plaats gaat vinden. Je bent dan bijna 'verplicht' 4 GB in de Mac te stoppen als je er intentief op werkt.

De meerwaarde van het draaien van de applicaties in 64 bit op een Mac die te allen tijden opstart met de 32 bit kernel ontgaat me dan ook een beetje…

[quote:413c924958="Kees24"]... en het swappen plaats gaat vinden...[/quote:413c924958]

Ik durf het bijna niet te vragen*… Maar je kijkt naar de page outs toch hoop ik? Niet naar de page ins. En dan kijk je naar het gedrag niet naar het aantal page outs. En dat loopt dus voortdurend op. Bij wat voor soort activiteiten precies?

[size=7:413c924958]* Dit is Unix en geen Windows, als je begrijpt wat ik bedoel. ;-)[/size:413c924958]

Ja ik kijk naar de Page outs.

En?

De page out neemt nu nog niet toe, maar hij staat ook net aan en na een paar dagen uptime neemt het inactieve geheugen wel steeds verder toe. Toen er nog 2 GB in zat, werd het inactieve geheugen niet aangesproken, maar zag je het aantal page-outs wel toenemen. Dit zou in mijn optiek juist niet mogen en zou juist het inactieve geheugen aangesproken moeten worden. Het 'swappen' vertraagd de mac namelijk behoorlijk.

Ik ben niet de enige die dit opvalt:

http://discussions.apple.com/thread.jspa?threadID=2132305&tstart=0&messageID=10779597#10779597

Wat is nou eigenlijk je echte probleem? Merk je dat je Mac aanzienlijk trager is in Snow Leopard dan in Leopard, of zit je je alleen blind te staren op wat getalletjes?

[quote:832353ba57="Kees24"]De page out neemt nu nog niet toe,[/quote:832353ba57]

Dan heb je dus geen geheugen tekort voor wat je aan het doen bent.

[quote:832353ba57]maar hij staat ook net aan en na een paar dagen uptime neemt het inactieve geheugen wel steeds verder toe.[/quote:832353ba57]

Dat is volstrekt normaal en absoluut geen indicatie dat je geheugen tekort hebt. Inactief geheugen is geheugen wat gewoon beschikbaar is voor hergebruik. Het is eerder gebruikt en dus nog opgenomen in de virtueel geheugen “administratie” maar op dit moment niet in gebruik.

[quote:832353ba57]Toen er nog 2 GB in zat, werd het inactieve geheugen niet aangesproken, maar zag je het aantal page-outs wel toenemen. Dit zou in mijn optiek juist niet mogen en zou juist het inactieve geheugen aangesproken moeten worden.
Het ‘swappen’ vertraagd de mac namelijk behoorlijk.

Ik ben niet de enige die dit opvalt:

http://discussions.apple.com/thread.jspa?threadID=2132305&tstart=0&messageID=10779597#10779597[/quote:832353ba57]

Precies, je bent niet de enige die Windows als referentiekader heeft. :frowning:

En ook daar wordt gevraagd wat je dan precies aan het doen bent op het moment dat de page outs oplopen. Dat er voldoende inactief geheugen beschikbaar is wil nog niet zeggen dat er nooit page outs nodig zijn. Incidenteel oplopende page outs zijn ook nog geen probleem. Pas als ze voortdurend op zouden lopen moet je je zorgen maken.

Performance problemen hebben, tenzij je structureel oplopende page outs constateert, andere oorzaken als geheugen tekort. Kijk voor de grap eens in je log files.

Hier heb je een methode waarmee je kunt bepalen of het plaatsen van extra RAM nut heeft. Open het programma "terminal" en typ in:

[code:1:2cf31517eb]top -u[/code:1:2cf31517eb]

Ga een dag of zo aan het werk als gewoonlijk (niet herstarten) en kijk zo nu en dan naar het getal wat vóór “page out” staat.
Blijft dit op nul staan of een ‘lage’ waarde t.o.v de page-ins? Extra Ram heeft geen nut
Loopt dit zo nu en dan op tot grotere waarden? Extra RAM [i:2cf31517eb]kan[/i:2cf31517eb] nuttig zijn.
Blijft dit geregeld oplopen tot grote waarden die van de zelfde orde zijn als “page-ins” ? Extra RAM heeft nut!
Het getal tussen haakjes geeft het aantal weggeschreven page’s/sec aan. Dit is meestal nul. Maar staan hier geregeld waarden groter dan ±20 dan is extra RAM absoluut nodig en is het systeem zeer traag door de hoge disk activiteit.

bron: MacFixit

N.a.v. bovenstaande posts heb ik nog even gekeken wat er gebeurd als ik veel programma's en bestanden open heb en wat dit met de performance doet.

Op een gegeven moment is het 'vrije geheugen' tot rond de 10 a 20 MB gedaald, ondanks dat er van de 4 GB nog ruim 1 GB bij 'inactief geheugen' vastgehouden wordt. Op dat moment nemen de 'page out' en 'Swap geheugen' snel toe en wordt traag en ratelt de harde schijf enorm.
Schijnbaar is dat niet genoeg om het inactieve geheugen aan te spreken..

In mijn optiek is dit niet hoe het zou moeten zijn, juist op dit soort momenten moet het inactieve geheugen aangesproken worden. Ondanks alle lof verhalen over Snow Leopard, was dit bij Leopard gewoon beter voor elkaar. Maar goed soms lijkt het wel of kritiek op Apple bijna verboden is..:slant:

Ter info: er staat inmiddels 10.6.3. op middels de combo update, harde schijf is hersteld op permissies en gecontroleerd met fsck, PR RAM reset uitgevoerd en caches opgeschoond.

Voorlopig even één opmerking:
Het system cache geheugen wordt gebruikt om veel gebruikte data snel te kunnen bereiken. Zodra je dat gaat 'opschonen' moet de computer deze data opnieuw inlezen dan wel berekenen. Dit zorgt niet alleen voor een tijdelijke vertraging(!) maar kan er ook voor zorgen dat de computer 'in de war' raakt.
Cache geheugen moet je alleen wissen bij het zoeken naar de oplossing van een probleem. In alle andere gevallen moet je er van af blijven.