Toon posts:

Highmem support geeft crashende kernel

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb sindskort 1 GB geheugen in m'n machine zitten en toen las ik in m'n kernel configuratie dat als je meer dan 800 MB aan geheugen hebt je High memory support aan moest zetten. Dit heb ik gedaan en vervolgens heb ik de kernel opnieuw gecompileerd, lilo gedraait en opgestart. Vervolgens kreeg ik echter allerlei foutmeldingen in m'n kernel log en weigerde KDE bijvoorbeeld om op te starten. Na het nodige zoekwerk kwam ik uit op een bug in de kernel die als volgt beschreven stond:

kernel BUG in page_alloc.c:142

Googlen hierop leverde helaas weinig resultaat op en ook hier op GoT kon ik hier niks over vinden. Ik heb inmiddels dus de highmem support maar weer uitgezet, maar het is wel een beetje vervelend dat ik 1 GB aan geheugen heb waar maar 800 MB echt van gebruikt wordt. Iemand ervaring met dit soort problemen?

De specificaties van het systeem:

AMD Athlon XP 3000+
1024 MB DDR PC2700 (Dual Channel Enabled, aldus de BIOS)
EpoX 8RDA+ Moederbord
Slackware 10.1
Linux 2.4.29 (zoals die kwam met Slackware)
ATi Radeon 9800 Pro (ATI drivers geïnstalleerd)

  • not-known
  • Registratie: Februari 2002
  • Laatst online: 10-02 23:03

not-known

[BI] Crewmember

Uhm, ik lees wat anders:
HIGHMEM is a kernel configuration option that allows Linux to handle optionally 4giga of RAM or 64giga of RAM (64giga is possible using PAE physical address extension three level pagetables) on IA32. HIGHMEM is going to be used also from the alpha to handle more than 2giga of RAM without using the PCI MMU (not all drivers that does any kind of PCI DMA are been converted to use the PCI MMU yet). We can for seplicity analyze only the 4Giga support. The 64Giga support works in the same way with the difference that three level pagetables that allow accessing more physical ram are used instead of the normal two level pagetables.
Niet nodig naar ik meen dus?

Officiëel bikkel'n in #bikkels
Campzone Veld C FieldAdmin
De Veld C site!


  • M-ThijZ
  • Registratie: Maart 2003
  • Laatst online: 16:11

M-ThijZ

Riding on Rails

Als het even kan, probeer dan een 2.6 kernel. Verder weet ik er ook weinig over te zeggen.
Het is dus zo dat als je je kernel compiled met highmem support, dat er dan applicaties zijn die niet werken?

Verwijderd

Topicstarter
Hmm, mjah, een 2.6 kernel gebruiken kan niet echt. Heb daar namelijk nogal wat problemen mee gehad met m'n externe firewire schijf. Deze bleek niet degelijk te functioneren, wat zelfs leide tot data verlies en daar zit ik dus niet op te wachten.

Het is niet zo dat bepaalde applicaties niet meer werken, het lijkt meer een kwestie te zijn dat er iets fout gaat bij het alloceren van geheugen, met alle gevolgen vandien uiteraard. Ik heb nu m'n computer weer enigzins draaidend zonder high memory support, maar ook nu heb ik weer problemen. Weet niet wat er aan de hand is, maar het werkt allemaal niet zoals 't hoort :S.

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Ik gebruik meerdere linux dozen met 1GB aan geheugen, kan me niet herinneren dat ik daarvoor highmem nodig had... Maar mischien heb ik dat altijd wel gewoon aangezet zonder 't echt door te hebben.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 15:48

BoAC

Memento mori

Is het ook te zien dat je maar 800 MB gebruikt?

Uit de help bij high mem support:
If you are compiling a kernel which will never run on a machine with
more than 960 megabytes of total physical RAM, answer "off" here (default
choice and suitable for most users
). This will result in a "3GB/1GB"
split: 3GB are mapped so that each process sees a 3GB virtual memory
space and the remaining part of the 4GB virtual memory space is used
by the kernel to permanently map as much physical memory aspossible.

If the machine has between 1 and 4 Gigabytes physical RAM, then
answer "4GB" here.
Volgens mij kun jij met je 1GB prima met die optie uit uit de voeten ;)

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 19:18
Voor de laatste 128MB van je 1GB geheugen heb je idd HIGHMEM "nodig". De overhead die het met zich meebrengt weegt echter niet op tegen de voordelen. Zelf pas ik altijd een patch toe die de memory split een paar adressen omhoog verschuift, waardoor die laatste 128MB gewoon adresseerbaar is zonder HIGHMEM.
Nadeel van die patch is dat modules zoals die van vmware niet lekker meer werken omdat die uitgaan van de normale situatie.

patch voor 2.6: http://vivid.dat.pl/fallo...-mm4-ckuo/1gb_lowmem.diff

[ Voor 12% gewijzigd door _JGC_ op 20-05-2005 09:20 ]


  • Seth4Chaos
  • Registratie: Maart 2001
  • Niet online

Seth4Chaos

that's me...

_JGC_ schreef op vrijdag 20 mei 2005 @ 09:19:
Voor de laatste 128MB van je 1GB geheugen heb je idd HIGHMEM "nodig". De overhead die het met zich meebrengt weegt echter niet op tegen de voordelen.
Heb je hier wat meer informatie over? zelf draai ik namelijk ook 1GB geheugen maar doe dat "braaf" met HIGHMEM support aan.
Ik ben namelijk wel heel benieuwd wat die nadelen zijn die niet opwegen tegen de voordelen.

Mistakes are proof that you are trying...


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 19:18
http://kerneltrap.org/node/2450/7217

Als je dat doorleest kom je al snel tot de conclusie dat HIGHMEM voor 1GB niet antrekkelijk is.

Verwijderd

Topicstarter
_JGC_ schreef op vrijdag 20 mei 2005 @ 09:19:
Voor de laatste 128MB van je 1GB geheugen heb je idd HIGHMEM "nodig". De overhead die het met zich meebrengt weegt echter niet op tegen de voordelen. Zelf pas ik altijd een patch toe die de memory split een paar adressen omhoog verschuift, waardoor die laatste 128MB gewoon adresseerbaar is zonder HIGHMEM.
Nadeel van die patch is dat modules zoals die van vmware niet lekker meer werken omdat die uitgaan van de normale situatie.

patch voor 2.6: http://vivid.dat.pl/fallo...-mm4-ckuo/1gb_lowmem.diff
Hmm, boeiend, maar probleem is dus dat ik wel van VMware gebruik maak en ook de ATi Driver zou volgens mij nog wel eens problemen willen geven. Kan ik nu tot de conclusie komen dat ik net zo goed niet die extra 128 meg kan gebruiken? Zou dat een beetje raar vinden namelijk?

Trouwens, wat mij opvalt bij de installatie van de ATi driver is dat ie zegt: patching highmem.h. Even een diff gedaan van de kernel versie van highmem.h en die van de ATi driver met het volgende resultaat:

code:
1
2
3
4
20c20
<       return kmap(bh->b_page) + bh_offset(bh);
---
>       return (char*)kmap(bh->b_page) + bh_offset(bh);


In hoeverre kan dit invloed hebben op het slecht functioneren van de kernel met highmem support aan? Voor zover ik weet compileert die ATi driver de kernel niet opnieuw, maar hij maakt natuurlijk wel een module die vervolgens dan gebruik maakt van de gepatchde highmem.h. Bovendien viel het op dat de problemen pas begonnen als 'k X en KDE probeerde op te starten.

[ Voor 29% gewijzigd door Verwijderd op 20-05-2005 11:33 ]


Verwijderd

Kijk eens naar de -ck kernel patch set, die heeft standaard support om de volle 1gb geheugen te gebruiken, zonder dat je HIGHMEM hoeft te enablen.
http://members.optusnet.com.au/ckolivas/kernel/

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 19:18
enkrypt: die patch komt uit -ck, en de hele -ck kernel wil je niet in alle gevallen gebruiken.

Verwijderd

Topicstarter
Verwijderd schreef op vrijdag 20 mei 2005 @ 14:27:
Kijk eens naar de -ck kernel patch set, die heeft standaard support om de volle 1gb geheugen te gebruiken, zonder dat je HIGHMEM hoeft te enablen.
http://members.optusnet.com.au/ckolivas/kernel/
Die site heeft helaas alleen patches voor 2.6 kernels en die kan ik dus niet draaien (zie een eerdere post). Er stond wel een linkje naar een site waar 2.4 patches zouden moeten staan, maar die patches hebben dan weer niet die high mem support. Ik ben nu een 2.4.30 kernel aan 't compilen met highmem support en high I/O (wat het performance probleem met highmem en 1 GB geheugen op zou moeten lossen). Ik ben benieuwd. Deze keer maar wel even een tweede boot optie maken geloof ik :).

Verwijderd

Seth4Chaos schreef op vrijdag 20 mei 2005 @ 09:24:
Heb je hier wat meer informatie over? zelf draai ik namelijk ook 1GB geheugen maar doe dat "braaf" met HIGHMEM support aan.
Ik ben namelijk wel heel benieuwd wat die nadelen zijn die niet opwegen tegen de voordelen.
Snap je nou eigenlijk wel het punt? Je hebt 32-bits geheugen-adressen, en kan dus 4 GB adresseren per applicatie. Als je bv. 2 gig mem hebt en je addresseert maar 1 gig physmem, dan kun je dus al je geheugen binnen een enkel virtueel proces (applicatie) starten. Echter, dat zal in de praktijk op een desktop ook never-nooit nodig zijn. En aangezien je altijd meerdere applicaties draait (bv. je mail, je browser, je desktop, je panel, je applets, je X server, ...) boeit het ook echt nauwelijks. Je geheugen komt echt wel vol. :).

Verwijderd

Vaag. Hier staat ook HIGHMEM aan op m'n dual Athlon machine (met 1 GB geheugen momenteel want de 2de is onder RMA...) en ik heb nooit problemen ondervonden. Dat ding heeft al 2.4.26 en 2.4.27 kernels gedraaid en sinds een weekje draait er een 2.4.30 kernel. Nooit problemen gehad. Ik bak wel m'n eigen kernels, maar dan nog...

Maar je geeft aan dat je die 1 GB nog maar sinds kort hebt. Ben je zeker dat je geheugen niet brak is? Al een geprobeerd om een paar uur memtest te draaien?
Pagina: 1