Aktivt minne?

Tråden skapades och har fått 8 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Lund
  • 2007-11-13 21:59

Hej! Jag har precis installerat Leopard tillsammans med 2gb minne istället för 1gb. Nu är det dock så att i iStat Pro står det att jag har ca 700mb active och 300 mb inactive när jag kör några få program som Safari, Adium och Transmission. I tiger när jag bara hade 1gb var detta aldrig fallet med så högt aktivt, hade tom några hundra megabyte inaktivt i tiger vid samma körning. Nu har jag dock bara runt 1gb inaktivt och fritt, vilket då logiskt borde säga att samma procedurer är mer minneskrävande i Leopard? (Jag har tyvärr inte orken att prova med de gamla minnesstickorna och se skillnaden, då mina minnen var ett helvete att få in ordentligt).

I kortform: Är det så att leopard är mer minneskrävande än tiger (rätt stor skillnad ändå) eller är det så att leopard har någon annan minnesteknik där det allokerar mer minne till programmen sålänge det finns mycket ledigt, men ändå lämnar en inaktiv buffert?

Konfunderad- Oskar

  • Medlem
  • Kiruna
  • 2007-11-14 09:23

De egentligen intressantaste siffrorna du borde jämföra är pageins och pageouts (läsning från och skrivning till swapfilen), för den proceduren har negativ påverkan på prestanda.

Sen är det ganska väntat att en större mängd minne utnyttjas när det nu finns mer att tillgå. Det är ju normalt för ett UNIX-liknande operativsystem att ha bara en liten mängd ledigt minne. Data som skulle fått läsas flera gånger från disk cachas istället i internminnet och kan fortsättningsvis läsas därifrån, vilket gör proceduren betydligt snabbare.

Slutligen så är inaktivt minne inte samma sak som ledigt minne – det är data som lästs in i internminnet men inte använts på ett tag och därmed står på tur att skrivas ut till swapfilen om ny data begär plats i internminnet och det inte finns tillräckligt mycket ledigt.

  • Medlem
  • Stockholm
  • 2007-11-14 10:19

Jag håller i princip med dig, men...

Ursprungligen av spot:

Slutligen så är inaktivt minne inte samma sak som ledigt minne – det är data som lästs in i internminnet men inte använts på ett tag och därmed står på tur att skrivas ut till swapfilen om ny data begär plats i internminnet och det inte finns tillräckligt mycket ledigt.

Nja, inaktivt minne är helt enkelt oanvänt minne. Aktivt minne används av någon process.

Om OS X vill återanvända aktivt eller inaktivt minne så behöver man endast skriva ut det om det faktiskt uppdaterats i minnet (är "dirty") sedan det lästes in från hårddisken (hårdvaran håller rätt på sådant). Det är alltså inte alls så att man alltid måste skriva ut på disk för att återanvända minne. Alla UNIX-system försöker återanvända sidor som inte är dirty, samt skriva ut dirty sidor så de blir "icke dirty" innan de behöver återanvändas så man slipper vänta på hårddisken.

  • Medlem
  • Kiruna
  • 2007-11-14 12:22

Hmm... Jag inser att jag till viss del stöder mig på hörsägen, men jag har å andra sidan inte sett någon ingående dokumentation angående detta från Apple heller. Måste sidor släppas för att kunna hamna i 'inactive'-kön, eller är det så att de automatiskt flyttas nedåt och mellan de resp. köerna baserat på hur de används? (Är det inte så på FreeBSD?)

Oavsett om inaktivt minne är släppt eller inte, så är skillnaden gentemot fritt minne att det fortfarande innehåller data, som därmed snabbt skulle kunna återanvändas ("aktiveras") av en process utan att behöva läsas från disk.

  • Medlem
  • Lund
  • 2007-11-14 15:36

Oj mycket teknikalitet här... Tittar på min page in och page out här, men det säger mig ju verkligen ingenting... Kör transmission, adium och safari nu. Detta resulterar i:
Page ins: 431,654
Page outs:131,794

Vad säger detta egentligen?

  • Medlem
  • Kiruna
  • 2007-11-14 17:25

Som tumregel kan man ha att om antalet pageouts är markant lägre än antalet pageins och samtidigt inte ökar alltför snabbt när man jobbar som vanligt med datorn så är allt ok. I ditt fall tycker jag det ser ok ut (fast jag ser förstås inte om det ökar).

Om man däremot ser att antalet pageouts ökar med mer än 25-50 per sekund är det ett dåligt tecken. Det kan finnas en minnesläcka i något av programmen man använder, eller så behöver man helt enkelt mer internminne.

  • Medlem
  • Lund
  • 2007-11-15 09:41

Det udda verkar vara att det aktiva minnet inte släpps... Nu har datorn stått igång ett tag och wired minne är 300 med 1,02gb aktivt minne, detta när alla program utom quicksilver är nedstängda, Är det något fel eller skall det vara såhär?

  • Medlem
  • Kiruna
  • 2007-11-15 12:49

Som sagt, det är bara bra att internminnet fylls med data; det gör att det går snabbare nästa gång dessa behöver användas. Det som påverkar prestandamässigt och som man bör hålla koll på, om man misstänker att ens maskin inte går som den ska, är om många minnessidor måste skrivas ut till disk (pageouts).

  • Medlem
  • Lund
  • 2007-11-15 17:18
Ursprungligen av spot:

Som sagt, det är bara bra att internminnet fylls med data; det gör att det går snabbare nästa gång dessa behöver användas. Det som påverkar prestandamässigt och som man bör hålla koll på, om man misstänker att ens maskin inte går som den ska, är om många minnessidor måste skrivas ut till disk (pageouts).

Då tackar jag så hemskt mkt för förklaringen pageouts verkar ligga konstant ca 165 000.

1
Bevaka tråden