Datorn vill inte hitta hela minnet!

collo

Motorvägsfilosofi
Gick med
24 Mar 2007
Ort
Stockholm
Hoj
R1
Hej alla kunniga!

Har byggt ihop en HTPC och använde då 4 st 1GB DDR2-minnen.
Nu är det så roligt så datorn vill inte hitta alla minnen, och det konstiga är att den hittar typ 2800mb minne.

Skulle ett minne vara trasigt eller nått strul med så borde den väl hitta exakt 3000 mb?

Skall tilläggas att minnena är av två olika märken, men skall vara samma hastighet på (och annars skulle det väl bara använda den lägsta hastigheten, eller?).

Hoppas nån vet!
Tack.
 
Om jag inte är helt ute och cyklar nu så är det meningslöst att i ett 32-bitars OS ha mer än 3GB. Du kan inte tillgodogöra dig mer iaf.
Det är säkert inget fel på nån av dina minnesmoduler, men som sagt, ditt OS kan inte hantera mer.
förutsatt att du INTE kör 64bitars.
 
Låter troligt, ja. :tummenupp
 
I ditt BIOS kan det finnas en funktion som heter nåt i stil med "Remap PCI memory". Dvs att mappa om ditt bildksärmskorts minne att inte ligga där vanliga arbetsminnet ligger. Ivfsh så kan inte 32-bitars XP nyttja mer dryga 2 GB. Finns hur mycket som helst skrivet om just detta ämnet på sweclockers.com

Installera 64-bitars om du vill nyttja allt installerat interminne.
 
som redan skrivits i tråden så är det så att ett 32 bitar operativ (Exempelvis Win XP) inte kan använda mer än ca 3 GB. Det går helt enkelt inte att addressera mer minne än så med 32 bitar.
 
det e inte så att du har delat grafikminne då?
då registrerar den inte mer än summan - grafikminnet. :)
 
som redan skrivits i tråden så är det så att ett 32 bitar operativ (Exempelvis Win XP) inte kan använda mer än ca 3 GB. Det går helt enkelt inte att addressera mer minne än så med 32 bitar.

Det är en spärr i Win32 minneshantering som gör att man inte kan använda 4Gb.:huvet

32bit = 2^32 = 4294967296 = 4,3 GB
 
Last edited:
Det är en spärr i Win32 minneshantering som gör att man inte kan använda 4Gb.:huvet

32bit = 2^32 = 4294967296 = 4,3 GB

Nja. Du måste dela med 1024 för att få den korrekta mängden minne. Vilket ger exakt 4 gb. Men i denna adressrymden ska dessutom även grafikkortets minne + lite annat få plats, så kör du ett kort med 512 mb minne på så kommer det ta utav den totala mängden adressrymd.
 
Nja. Du måste dela med 1024 för att få den korrekta mängden minne. Vilket ger exakt 4 gb. Men i denna adressrymden ska dessutom även grafikkortets minne + lite annat få plats, så kör du ett kort med 512 mb minne på så kommer det ta utav den totala mängden adressrymd.

Jag funderade på om jag skulle nämna detta med at 1Kb ibland är 1024 och ibland är 1000 Nu är det ju så att K står för 1000 så det riktigaste är nog att 1Kb = 1000b.

Om vi istället anser att det är 1024 så blir 32bit

2^32/1024 = 4194304 kb = 4,2 Gb istället för 4,3 :D

Att annat minne även skall få plats är antagligen det som gör att man bara får strax över 2Gb även om man pular i 3 eller tom 4 Gb. Jag vet att det på MS hemsida står vad WinXP skall stöda men efter att ha hamnat i läget med "för mycket" minne så handlade jag upp mig på WinXP 64 och det är det bästa köp jag gjort hittills för mitt datoranvändande. (Har jobbat mycket med PC sen den första IBM 8086 kom till sverige)
 
Jag funderade på om jag skulle nämna detta med at 1Kb ibland är 1024 och ibland är 1000 Nu är det ju så att K står för 1000 så det riktigaste är nog att 1Kb = 1000b.

Om vi istället anser att det är 1024 så blir 32bit

2^32/1024 = 4194304 kb = 4,2 Gb istället för 4,3 :D

Att annat minne även skall få plats är antagligen det som gör att man bara får strax över 2Gb även om man pular i 3 eller tom 4 Gb. Jag vet att det på MS hemsida står vad WinXP skall stöda men efter att ha hamnat i läget med "för mycket" minne så handlade jag upp mig på WinXP 64 och det är det bästa köp jag gjort hittills för mitt datoranvändande. (Har jobbat mycket med PC sen den första IBM 8086 kom till sverige)

I datorvärlden använder vi binära prefix, vilket innebär att kb i detta fallet är 1024b. Vill man vara petig skriver man KiB, uttalas kibibyte. Samma för mb, en mb (MiB/mebibyte) är 1024 KiB, och en gb (gibibyte/GiB) är 1024 MiB. Minnesmängden blir alltså 2^32/1024/1024/1024 = 4 GiB. :tummenupp

I min burk sitter 4 GiB minne och med 32 bit vista får jag loss 3,3 av dem med ett grafikkort med 512 meg, så det är klart godkänt.
 
Det är en spärr i Win32 minneshantering som gör att man inte kan använda 4Gb.:huvet

32bit = 2^32 = 4294967296 = 4,3 GB

Fast sen är det väl så att datorn inte addresserar minnet på det sättet. Minneskapslarna ligger ju uppdelade på rader och kolumner och när en minnesbit skall läsas så aktiveras en rad och en kolumn så att det den vill läsa ligger där dom skär. Att dom skulle lägga in en spärr bara för att djäklas tror jag inte på. Hittills så har alla begränsningar varit av teknisk natur. dvs att tekniken inte har högre prestanda. Exempelvis antalet kluster på en hårddisk med FAT och liknande.

Exakt hur minnesaddresseringen går till och hur det är uppbyggt har jag dock inte koll på mer än att det bara är rader och kolumner som addresseras
 
Fast sen är det väl så att datorn inte addresserar minnet på det sättet. Minneskapslarna ligger ju uppdelade på rader och kolumner och när en minnesbit skall läsas så aktiveras en rad och en kolumn så att det den vill läsa ligger där dom skär. Att dom skulle lägga in en spärr bara för att djäklas tror jag inte på. Hittills så har alla begränsningar varit av teknisk natur. dvs att tekniken inte har högre prestanda. Exempelvis antalet kluster på en hårddisk med FAT och liknande.

Exakt hur minnesaddresseringen går till och hur det är uppbyggt har jag dock inte koll på mer än att det bara är rader och kolumner som addresseras

Det sa i alla fall minnesleverantören Corsair när jag frågade. Och det är säkert inte för att djävlas, jämför med millenium buggen.

Vi utvecklar programvara och det är djävligt lätt att tänka tex "så här många tecken för den här parametern kommer aldrig någon att behöva" med resultat att den tredje kunden som köper programvaran behöver så många tecken + 1:huvet och så får man ett helvete att fixa till det:gnissla

Man kan också använda bank-switching så att man kan använda mycket mer minne än OSets XX-bit medger.

I datorvärlden använder vi binära prefix, vilket innebär att kb i detta fallet är 1024b. Vill man vara petig skriver man KiB, uttalas kibibyte. Samma för mb, en mb (MiB/mebibyte) är 1024 KiB, och en gb (gibibyte/GiB) är 1024 MiB. Minnesmängden blir alltså 2^32/1024/1024/1024 = 4 GiB. :tummenupp

I min burk sitter 4 GiB minne och med 32 bit vista får jag loss 3,3 av dem med ett grafikkort med 512 meg, så det är klart godkänt.

Nja, det du säger är korrekt men används inte konsekvent det ser man tydligt om man tittar på tex minnets storlek på olika ställen i OSet. Ibland har man använt 1000 och i bland 1024. Samma sak när man anger storleken på en HD.
 
Last edited:
Vilda spekulationer här. :)

Det är mycket riktigt som det skrivs här att Windows XP inte kan hantera mer än ~3 GB i 32-bit version. Dock kan andra 32-bit-system det, t.ex. Linux och serverversionerna av Windows. De använder då något som kallas PAE.

Att gränsen går vid 3 GB och inte 4 GB beror på att BIOS lagt upp din hårdvara ivägen. Processorn pratar med resten av hårdvaran huvudsakligen genom att hårdvaran dyker upp som minne. Det innebär att delar av det riktiga minnet måste gömmas och vanligtvis är det då intervallet 3-4 GB som försvinner.

Sen kan det vara värt att notera att ibland så får du inte dina fulla 4 GB ens med ett av de andra operativsystemet. Ett ordentligt BIOS ska ta minnet vid 3-4 GB och flytta det så att det hamnar som 4-5 GB, men det finns BIOS som bara gömmer ditt minne (troligtvis för de bara räknat med att XP 32-bit ska köras på maskinen, och den kan ändå inte komma över 4 GB-spärren).
 
Det sa i alla fall minnesleverantören Corsair när jag frågade. Och det är säkert inte för att djävlas, jämför med millenium buggen.

Vi utvecklar programvara och det är djävligt lätt att tänka tex "så här många tecken för den här parametern kommer aldrig någon att behöva" med resultat att den tredje kunden som köper programvaran behöver så många tecken + 1:huvet och så får man ett helvete att fixa till det:gnissla

Man kan också använda bank-switching så att man kan använda mycket mer minne än OSets XX-bit medger.



Nja, det du säger är korrekt men används inte konsekvent det ser man tydligt om man tittar på tex minnets storlek på olika ställen i OSet. Ibland har man använt 1000 och i bland 1024. Samma sak när man anger storleken på en HD.

Jo. Visst finns det ofta begränsningar för att någon tänkt att att fler än såhär tecken kommer man inte att behöva. Det är ju dock inte att jämställa med att bara begränsa för att djävlas. Det är ju mer för att någonstans måste man begränsa sig. i fallet med applikationer så är det ju för att om man inte begränsar fältlängderna så kommer databaser mm att bli orimligt stora till slut.
I fråga om OS och minneshantering så är det ju tydligen så att begränsningen uppstår för att datorn reserverar en del minne till olika enheter. Tydligen stjäl exempelvis grafikkortet lika mycket från minnesaddreseringen som det självt har i minne eftersom grafikkortets minne addresseras med samma addresstabell som arbetsminnet.
Artikeln som var länkad högre upp i tråden var ganska intressant.

I fråga om storlek på hårddiskar så är det faktiskt ganska konsekvent på ett inkonsekvent sätt. I OS så räknar datorn med 1024 medan tillverkarna räknar med 1000. det är ju det som är anledningen till att en 500 GB hårddisk inte visas som 500GB i OS.
 
Vilda spekulationer här. :)

Det är mycket riktigt som det skrivs här att Windows XP inte kan hantera mer än ~3 GB i 32-bit version. Dock kan andra 32-bit-system det, t.ex. Linux och serverversionerna av Windows. De använder då något som kallas PAE.

Att gränsen går vid 3 GB och inte 4 GB beror på att BIOS lagt upp din hårdvara ivägen. Processorn pratar med resten av hårdvaran huvudsakligen genom att hårdvaran dyker upp som minne. Det innebär att delar av det riktiga minnet måste gömmas och vanligtvis är det då intervallet 3-4 GB som försvinner.

Sen kan det vara värt att notera att ibland så får du inte dina fulla 4 GB ens med ett av de andra operativsystemet. Ett ordentligt BIOS ska ta minnet vid 3-4 GB och flytta det så att det hamnar som 4-5 GB, men det finns BIOS som bara gömmer ditt minne (troligtvis för de bara räknat med att XP 32-bit ska köras på maskinen, och den kan ändå inte komma över 4 GB-spärren).

Underbar förklaring! Tack!!
Förklaringen måste vara att när jag bytte lite delar så har jag nu 32-bitars system. Vad är det som avgör det förresten? Moderkortet?
 
Underbar förklaring! Tack!!
Förklaringen måste vara att när jag bytte lite delar så har jag nu 32-bitars system. Vad är det som avgör det förresten? Moderkortet?

Operativsystemet. Står det ingenting är det ett 32-bitars, annars brukar det stå Vista x64, XP-64 eller liknande.
 
Underbar förklaring! Tack!!
Förklaringen måste vara att när jag bytte lite delar så har jag nu 32-bitars system. Vad är det som avgör det förresten? Moderkortet?

I princip ja. De tekniska begränsningar som sitter i hårdvaran är i processorn, chipset och BIOS (dock kan det diskuteras om det sistnämnda är hårdvara). Processorerna har dock haft PAE-stöd som standard i många år nu. Dock snålade Intel i några av sina chipset för inte så många år sedan, så PAE-stödet saknades där. Jag har tyvärr ingen lista på modeller, så du får googla lite.

Det kan ju nämnas att det var någon dåre som byggde desktop-maskin genom att anpassa Windows 2008. Du skulle kanske kunna göra samma sak med Windows 2003 och få ett 32-bit-system med PAE. :)
 
Last edited:
I princip ja. De tekniska begränsningar som sitter i hårdvaran är i processorn, chipset och BIOS (dock kan det diskuteras om det sistnämnda är hårdvara). Processorerna har dock haft PAE-stöd som standard i många år nu. Dock snålade Intel i några av sina chipset för inte så många år sedan, så PAE-stödet saknades där. Jag har tyvärr ingen lista på modeller, så du får googla lite.

Det kan ju nämnas att det var någon dåre som byggde desktop-maskin genom att anpassa Windows 2008. Du skulle kanske kunna göra samma sak med Windows 2003 och få ett 32-bit-system med PAE. :)

Ah. Schysst!
Det enda jag bytte ut är moderkortet egentligen, så antar att begränsningen måste sitta där. Skall googla upp mitt kort och kolla lite.

Tack för hjälpen.
 
Back
Top