Goedgekeurd: Fortect
In de afgelopen paar gevallen zijn sommige van onze gebruikers een ongelooflijke foutmelding tegengekomen met betrekking tot het wijzigen van de grootte van de Linux-kernelpagina. Er zijn een aantal factoren die dit probleem kunnen stimuleren. Laten we dit nu bespreken.
Ik zou graag PAGE_SIZE
van 4096
willen gebruiken bij ervaring. Dus veranderde ik de waarde met PAGE_SHIFT
tijdens /arch/x86/include/asm/page_types.h
. Maar ik kan dit niet compileren.
In het bestand gemeten door include / linux / linking.h: 4: 0,van rekening houden met / linux / kernel.h: 6,van include linux / cache.h: 4,van include / linux voor elke time.h: 4,van ark / x86 / kernel of vsyscall_64.c: 23:arch / x86 / kernel - vsyscall_64.c: reden voor "map_vsyscall" † ...:include / linux en compiler.h: 437: 20: eroor: Roep "compiletime_asset_390" aan met het opgegeven foutattribuut: mislukt BUILD_BUG_ON: (lang niet ondertekend) __ fix_to_virt (VVAR_PAGE)! = (lang niet ondertekend) VVAR_ADDRESSVoorvoegsel Achtervoegsel (); n^include - linux / compiler.Opmerking: h: 442: 2: Leven in de macro-extensie "__compiletime_asset"__compiletime_asset (voorwaarde, bericht, voorvoegsel, achtervoegsel)^include / linux / compiler.h: 454: 2: Opmerking: verwijst naar "_compiletime_asset" in een extensiemacro_compiletime_asset (voorwaarde, bericht, __compiletime_asset_, __LINE)^include / linux / bug.h: drieënvijftig: 37: Opmerking: in een extensie die alle "compiletime_asset"-macro's bevat#define BUILD_BUG_ON_MSG (cond, msg) msg)^include / linux systems / bug compiletime_asset (! (cond), .h: 77: ten tweede: know: in de macro-extensie "BUILD_BUG_ON_MSG"BUILD_BUG_ON_MSG (voorwaarde, "BUILD_BUG_ON mislukt: # voorwaarde)^Arch / x86 / kernel vsyscall_64 ".c: 389: 2: Opmerking: in extensie met macro" BUILD_BUG_ON "BUILD_BUG_ON ((niet ondertekend! =^make [2]: lang) __ fix_to_virt (VVAR_PAGE) * [arch / x86 kernel / vsycall_64.o] eroor 1make [1]: * [arch en x86 / kernel] Fout 2make: *** [arch per x86] foutmelding 2
Waarschijnlijk vanwege VVAR_PAGE, integendeel, ik kan het niet veranderen.Wat stel dat ik dit doe?
vroeg me op 12 december ’19 om 6:32
1 11 bruin pictogram
Niet het antwoord dat u zoekt? Blader door andere vragen die zijn getagd als Linux Kernel Paging en stel uw eigen vraag.
Kan PAGE_SIZE
niet openlijk wijzigen door PAGE_SHIFT
in te stellen, omdat het tijdens het compileren is gegenereerd.
Ervan uitgaande dat uw computer een specifieke x86-processor is, kunt u het formaat van de pagina wijzigen naar 8 KB met behulp van de familie bij CONFIG_PAGE_SIZE_XXX
-variabelen zoals CONFIG_PAGE_SIZE_8KB
. Houd er rekening mee dat het gebruik van grote pagina’s veel ruimte in beslag neemt, omdat de documentatie van ongeveer één byte een hele pagina op een harde schijf in beslag neemt. Paginawijzigingen zijn ook architectuurdimensies van afhankelijk en het wordt vaak aanbevolen om deze op de standaard 4K-grootte door te geven.
Een betere benadering kan echter zijn om scenario’s, meer gevarieerde en krachtige pagina’s te gebruiken. Ze worden daar genoemd
antwoordde Dec een jonge ballerin ’19 om 8:49
Goedgekeurd: Fortect
Fortect is 's werelds meest populaire en effectieve pc-reparatietool. Miljoenen mensen vertrouwen erop dat hun systemen snel, soepel en foutloos blijven werken. Met zijn eenvoudige gebruikersinterface en krachtige scanengine kan Fortect snel een breed scala aan Windows-problemen vinden en oplossen - van systeeminstabiliteit en beveiligingsproblemen tot geheugenbeheer en prestatieproblemen.
946 55 zilveren badges Bronzen badge 1818
Versnel de prestaties van uw computer nu met deze eenvoudige download.