[Linux kernel 2.4] de helft van het geheugen.

Pagina: 1
Acties:

  • pixel
  • Registratie: Augustus 2001
  • Laatst online: 16-12-2024
Ik heb hier een 2.4.33.4 kernel lopen. Deze ziet om of rare wijze maar de helft van het geheugen van wat er in de machine zit. De 2.4 kernel komt waarschijnlijk uit Redhad 7.2. Wanneer we bv. Knoppix booten op hetzelfde system met een 2.6 kernel word wel het volledige geheugen gevonden. Het is niet de bedoeling dat we de 2.4 kernel gaan updaten naar 2.6, want dat geeft voor onze toepassing een hoop ellende. Dus als ik kan fixen dat de 2.4 kernel wel al het geheugen kan aanspreken zou dat fijn zijn.
De kernel doet hetzelfde op diverse verschillende systemen. ( de ene pentuim M de andere p4)
Iemand een idee hoe dit op te lossen?

[ Voor 3% gewijzigd door pixel op 14-03-2008 14:12 . Reden: tyo's ]

brabrabrabra...


  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

hoeveel is 'deze helft'?

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • DeKaerften
  • Registratie: December 2007
  • Niet online
Als je meer dan 4GB geheugen hebt zul je daarvoor inderdaad een aangepaste kernel moeten installeren. Ik weet niet of knoppix zelf ook zijn kernels patcht of dat knoppix generic debian kernels gebruitk, maar als je een uname -a kunt posten en je hoeveelheid geheugen kun je zien of je een kernel hebt die gepatched is om meer geheugen te gebruiken. Mocht knoppix geen kernels daarvoor hebben dan zul je zelf een moeten compileren met support voor meer geheugen.

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 16:48

Super_ik

haklust!

als je meer dan 750MB hebt moet je je kernel als anders configgen, dus zelfs al als je 1G of meer hebt.

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


  • wzzrd
  • Registratie: Februari 2000
  • Laatst online: 17-01 19:39

wzzrd

The guy with the Red Hat

Super_ik schreef op vrijdag 14 maart 2008 @ 20:49:
als je meer dan 750MB hebt moet je je kernel als anders configgen, dus zelfs al als je 1G of meer hebt.
750MB? Euh? Waar heb je dat vandaan?

Maar goed, om het verhaal compleet te maken: een 32-bits Linux kernel (of wat voor kernel dan ook, eigenlijk) kan maximaal zo'n 4GB alloceren zonder trucjes. Voor geheugen boven de 1GB hadden wat oudere distro's vaak een speciale kernel iirc.

Als je meer dan 4GB wil alloceren op een 32-bits OS, heb je weer een andere kernel nodig, namelijk eentje die PAE ondersteunt (ga ik hier niet uitleggen). Dat is eigenlijk een trucje om op een 32-bits OS meer dan 4GB geheugen te gebruiken, nl. 64GB. Er zitten wat beperkingen aan en dat kunnen voor- en nadelen zijn.

Als je echt zonder beperkingen met meer dan 4GB RAM wil werken, moet je een 64-bits kernel installeren (op een 64-bits processor dus).

D'r staat hier nog een mooi artikel over dit onderwerp. Wel ietsje verouderd, maar ik geloof niet dat er hele rare dingen instaan.

[ Voor 65% gewijzigd door wzzrd op 15-03-2008 12:47 ]


Verwijderd

Dat is een tijdje geleden, dat ik een 2.4 heb gedraait.

Maar er waren hier switches voor :

Volgens mij deze :

http://www.cpqlinux.com/memory.html#METHOD3

  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

wzzrd schreef op zaterdag 15 maart 2008 @ 12:36:
[...]


750MB? Euh? Waar heb je dat vandaan?
Klopt wel. HIGHMEM moet op dat moment geactiveerd zijn.

We are pentium of borg. Division is futile. You will be approximated.


  • pixel
  • Registratie: Augustus 2001
  • Laatst online: 16-12-2024
Dank voor de reacties.
Ik gebruik hier nooit meer dan 2Gb in de machines. Dus aan de 4Gb grens kom ik niet.
Het lijkt er wel op dat het tot 512 Mb goed gaat.
Wanneer ik free oid doe, dan zie ik dat er van de 2048M die er in het systeem zit, maar 904M door de kernel is gevonden.

Met die opties gegeven in de bovenstaande post veranderd er helaas niets.

[ Voor 28% gewijzigd door pixel op 17-03-2008 16:14 ]

brabrabrabra...


  • wzzrd
  • Registratie: Februari 2000
  • Laatst online: 17-01 19:39

wzzrd

The guy with the Red Hat

Rainmaker schreef op zaterdag 15 maart 2008 @ 22:18:
[...]


Klopt wel. HIGHMEM moet op dat moment geactiveerd zijn.
Toegegeven: het is lang geleden dat ik zelf een 2.4 kernel geconfigureerd heb, maar is het niet zo dat:
<1GB -> HIMEM off
>1GB,<4GB -> HIMEM on
>4GB -> HIMEM / PAE
?

Nogmaals, het kan zijn dat dat specifiek voor 2.6 is: zo vaak bak ik mijn eigen kernels niet meer...

[ Voor 5% gewijzigd door wzzrd op 18-03-2008 08:54 ]


  • pixel
  • Registratie: Augustus 2001
  • Laatst online: 16-12-2024
Ik ben er inderdaad achter gekomen dat de gene die de kernel heeft gemaakt, niet de highmem optie heeft gebruikt. Dus ben ik bang dat ik een nieuwe kernel moet gaan maken.
Of kan je de highmem optie alsnog ergens bijstoppen?

brabrabrabra...


  • wzzrd
  • Registratie: Februari 2000
  • Laatst online: 17-01 19:39

wzzrd

The guy with the Red Hat

Nee, dat geloof ik niet, maar een nieuwe kernel bakken _hoeft_ niet zo'n onderneming te zijn hoor... Als je de .config maar hebt.

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 16:48

Super_ik

haklust!

kan je gelijk mirgreren naar 2.6,
want 2.4 is echt heel oud

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


  • pixel
  • Registratie: Augustus 2001
  • Laatst online: 16-12-2024
Klopt 2.4 is ook oud.
Ik denk dat ik er niet onderuit kom om naar 2.6 te gaan. Heb alleen de .config file niet meer.

in iedergeval bedankt voor de reakties :)

brabrabrabra...


  • JohnR
  • Registratie: April 2003
  • Niet online

JohnR

Koffie is lekker!

Super_ik schreef op dinsdag 18 maart 2008 @ 19:22:
kan je gelijk mirgreren naar 2.6,
want 2.4 is echt heel oud
Sinds wanneer? Ik zie hier nog een versie staan van 24 februari 2008. Hoeveel nieuwer wil je 'm hebben :?

Misschien voor de duidelijkheid. De 2.4 tree wordt nog actief gesupport en is dus niet outdated. Een 2.6 is niet per definitie beter alleen omdat het een 2.6 is.

/(bb|[^b]{2})/


Verwijderd

Op 2.6 heb je het proc fileysteem, en daarin heb je de file /proc/kernel/config.gz (zeg ik zo uit m'n hoofd, het atm geen toegang tot een Linux machine om dit te checken). Dat is je kernel config met een gz compressie eroverheen. Dat is natuurlijk eenvoudig omgezet naar een normale .config. Dan kan je met make menuconfig die highmem optie aanzetten, make draaien om hem te bakken en dan naar /boot kopieren (bewaar wel je oude kernel voor het geval dat je nieuwe kernel op wat voor reden dan ook niet wil booten).
Ik heb eigenlijk nooit met 2.4 gewerkt, dus ik weet niet of /proc ook op 2.4 bestaat.

  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05-2025

GX

Nee.

Bijna alle kernels gooien hun .config in /boot, en anders in de oude /usr/src/ dir. Hopen dat je die niet weggegooit hebt. Ik zie niet zo goed waar je hier /proc/ voor nodig hebt.

  • Stamgastje
  • Registratie: April 2003
  • Laatst online: 02-02-2020
Verwijderd schreef op woensdag 19 maart 2008 @ 12:37:
Op 2.6 heb je het proc fileysteem, en daarin heb je de file /proc/kernel/config.gz (zeg ik zo uit m'n hoofd, het atm geen toegang tot een Linux machine om dit te checken). Dat is je kernel config met een gz compressie eroverheen. Dat is natuurlijk eenvoudig omgezet naar een normale .config. Dan kan je met make menuconfig die highmem optie aanzetten, make draaien om hem te bakken en dan naar /boot kopieren (bewaar wel je oude kernel voor het geval dat je nieuwe kernel op wat voor reden dan ook niet wil booten).
Ik heb eigenlijk nooit met 2.4 gewerkt, dus ik weet niet of /proc ook op 2.4 bestaat.
Kernel 2.4 heeft wel een /proc file system, maar niet de optie om de config file via dit file system beschikbaar te stellen. Dit is pas mogelijk vanaf kernel 2.6. Zie onder andere deze PDF (pagina 26).

Verwijderd

pixel schreef op woensdag 19 maart 2008 @ 10:58:
Klopt 2.4 is ook oud.
Ik denk dat ik er niet onderuit kom om naar 2.6 te gaan. Heb alleen de .config file niet meer.

in iedergeval bedankt voor de reakties :)
Ik vraag me af of dat lukt op zo'n oud systeem.

Of Redhat, zou die zelf moeten aanbieden, lijkt me niet, Redhat 7.2 wordt heel lang niet meer ondersteund.

Waarom zit er een custom kernel op ?

Red je het niet met een standard kernel ? Wel een entry in je Lilo configuratie - Zal Lilo bij zo'n oud systeem - maken , dat je terug kunt naar de oude kernel.

  • wzzrd
  • Registratie: Februari 2000
  • Laatst online: 17-01 19:39

wzzrd

The guy with the Red Hat

1) Alle kernels hebben het proc filesystem. Een 2.4 kernel heeft dat ook. Sterker nog, procfs is een onderdeel van de meeste Unix systemen, als sinds medio jaren '80. Als je config.gz ergens in /proc hebt staan, heb je een speciale optie aangezet tijdens je kernel configuratie. (Maar dit staat al hier ergens, zie ik)
2) Kernels gooien hun .config helemaal nergens. De meeste distributies doen dat, zoals Mandriva, Ubuntu en Debian, maar da' s gewoon iets dat in een kernel package zit. Als je gewoon 'make bzImage' doet, wordt er helemaal niets aan .configs in /boot gezet. Alleen als je 'make install' doet (da's dus de Makefile) wordt je config naar /boot gekopieerd. Ik ken niet veel mensen die 'make install' gebruiken na het bakken van hun kernel. De meesten kopieren hun initrd en kernel image gewoon handmatig naar /boot. Da's ook praktischer als je multiboot en geen lilo gebruikt.
3) Ik zou gewoon lekker de huidige source van de laatste 2.4 kernel van kernel.org halen, met lspci e.d. uitzoeken wat je nodig hebt en ze een nieuwe kernel maken. Een 2.4 kernel heeft aanmerkelijk minder opties dan een 2.6 kernel, dus met een uurtje of zo zou je daar wel doorheen moeten zijn, ook als je dit voor de eerste keer doet. 't Is misschien even wat experimenteren, maar da's ook leerzaam ;)
Pagina: 1