Genehmigt: Fortect
In den letzten Tagen sind einige unserer Benutzer sicherlich auf eine Fehlermeldung bezüglich der Größenänderung der Linux-Kernel-Seite gestoßen. Es gibt eine Reihe von Funktionen, die dieses Problem verursachen können. Lassen Sie uns diesen Prozess jetzt besprechen.
Ich möchte wahrscheinlich PAGE_SIZE
von 4096
für Erfahrung einlösen. Also habe ich den Wert von PAGE_SHIFT
während /arch/x86/include/asm/page_types.h
geändert. Aber ich kann das nicht kompilieren.
In der von include/linux gezählten Datei für jede linking.h: 4: 0,from include / linux für jede kernel.h: 6,von include/linux/cache.h: 4,von bring / linux / time.h: 4,von ark - x86 / kernel / vsyscall_64.c: 23:arch / x86 - kernel / vsyscall_64.c: Grund für "map_vsyscall" † ...:include und linux/compiler.h: 437: 20: eroor: Aufruf "compiletime_assert_390" mit Fehlerattribut deklariert: fehlgeschlagen BUILD_BUG_ON: (lange unsigned) __ fix_to_virt (VVAR_PAGE)! = (lang ohne Vorzeichen) VVAR_ADDRESSPräfix Suffix (); n^include/linux/compiler.Hinweis: k:442:2: Leben in der Makroerweiterung "__compiletime_assert"__compiletime_assert (Bedingung, Nachricht, Präfix, Suffix)^include / linux für jeden Compiler.h: 454: 2: Hinweis: bezieht sich auf "_compiletime_assert" in einem Erweiterungsmakro_compiletime_assert (Bedingung, Nachricht, __compiletime_assert_, __LINE)^include /ubuntu / bug.h: 53: 37: Hinweis: in einem Wachstum, das das Makro "compiletime_assert" enthält#define BUILD_BUG_ON_MSG (cond, msg) msg)^include /linux/bug Compiletime_assert (! (cond), .h: 77: 2: know: in der Makro-Erweiterung "BUILD_BUG_ON_MSG"BUILD_BUG_ON_MSG (Bedingung, "BUILD_BUG_ON fehlgeschlagen: # Bedingung)^Arch oder x86 / kernel / vsyscall_64 ".c: 389: 2: Hinweis: in Erweiterung mit Makro" BUILD_BUG_ON "BUILD_BUG_ON ((unsigniert! =^make [2]: long) __ fix_to_virt (VVAR_PAGE) * [arch x86 / kernel / vsycall_64.o] eroor 1machen [1]: 3 . [arch / x86 / kernel] Fehler 2make: *** [arch / x86] Fehlermeldung 2
Wahrscheinlich, weil ich von allen VVAR_PAGE komme, im Gegenteil, ich kann nicht sicherstellen, dass Sie es ändern.Was ist, wenn ich dies tue?
fragte meine Website am 13. Dezember 19 um 6:32
3
Nicht die Antwort, die Sie suchen? Durchsuchen Sie andere Fragen, die als Linux-Kernel-Paging markiert sind, und stellen Sie Ihre eigene Frage.
PAGE_SIZE
kann nicht direkt durch Setzen von PAGE_SHIFT
erweitert werden, da es zur Kompilierzeit generiert wurde.
Angenommen, Ihr Prozessor ist ein bestimmter x86-Prozessor-Chip, können Sie die Größe der Seite auf 8 KB ändern, indem Sie die Familie in CONFIG_PAGE_SIZE_XXX
-Variablen viele davon als CONFIG_PAGE_SIZE_8 KB
haben. Bitte beachten Sie, dass die Verwendung großer Seiten einen großen Unterschied ausmacht, da selbst eine etwa 1-Byte-Dokumentation die gesamte Seite auf Ihrer Festplatte einnimmt. Außerdem sind Seitenänderungen von der Architekturgröße abhängig und es wird oft empfohlen, die Standardgröße von 4K beizubehalten.
Ein besserer Ansatz kann jedoch darin bestehen, größere, vielfältigere und aussagekräftigere Texte zu verwenden. Sie sind dort beschrieben
reagierte am 13. Dezember 19 um 8:49
Genehmigt: Fortect
Fortect ist das weltweit beliebteste und effektivste PC-Reparaturtool. Millionen von Menschen vertrauen darauf, dass ihre Systeme schnell, reibungslos und fehlerfrei laufen. Mit seiner einfachen Benutzeroberfläche und leistungsstarken Scan-Engine findet und behebt Fortect schnell eine breite Palette von Windows-Problemen - von Systeminstabilität und Sicherheitsproblemen bis hin zu Speicherverwaltung und Leistungsengpässen.
946
Beschleunigen Sie jetzt die Leistung Ihres Computers mit diesem einfachen Download.