2012-11-20 4 views

Antwort

13

Ich fand die Antwort, die ich suchte. Im Grunde ist der Parameter, der den gesamten verfügbaren physischen Speicher einstellt, "mem = MEMORY_LIMIT". Und dies ist ein Kernel-Boot-Parameter. Sie müssen sagen, "mem = 1G" für maximal 1 GB verfügbaren physischen Speicher für den Kernel-Boot-Parameter. Weitere Informationen darüber, wie Parameter Kernel-Boot-

+0

Der Parameter hat eine etwas andere Bedeutung für x86-Systeme (sowohl 32 als auch 64 Bit): "mem = nn [KMG] [...] [X86] Arbeit als begrenzende maximale Adresse" ([source] (https: // www .kernel.org/doc/Dokumentation/kernel-parameter.txt)).Aufgrund von reservierten Speicherbereichen ist der Wert von x86 höher als die Menge an Speicher, die dem Betriebssystem zur Verfügung gestellt werden soll. Beispiel: Muss 'mem = 6700M' verwenden, um 5365 von 6144 MiB (6 GiB) physisch verfügbarem Speicher zu erhalten. – tanius

5

Bearbeiten Sie Ihre Kernel-Boot-Parameter in lilo.conf, grub.conf, grub.cfg oder menu.lst (die man auf Ihre speziellen Distribution und Bootloader abhängt, überprüfen Dokumentation Ihrer Distributionen für weitere Einzelheiten) um die Parameter mem=512M (oder was auch immer Größe, die Sie emulieren möchten) in der Zeile, die Ihre Kernel-Parameter angibt.

Zum Beispiel sollte in Grub eine Zeile stehen, die etwas wie kernel /boot/vmlinuz param1=val1 param2=val2 sagt. Fügen Sie die mem=512M zu dieser Liste von Parametern hinzu. Sie können separate Einträge für Ihr Boot-Menü erstellen, indem Sie diese gesamten Definitionen kopieren, umbenennen und jeweils mit einer anderen Speichergröße konfigurieren, sodass Sie schnell mit anderen Einstellungen booten können.

2

bei https://wiki.ubuntu.com/Kernel/KernelBootParameters schauen, um in der Brian Campbell Liste, für die uBoot Bootloader auf dem BeagleBone/Schwarz-Geräte, bearbeiten Sie die Kernel Paramter in /boot/uboot/uEnv.txt
hinzufügen oder ändern Sie die Zeile mmcargs=setenv bootargs mem=512M [getestet hinzufügen mit Debian]

Verwenden > free vor und nach [Neustart], um die Änderung

0

ich folge habe die Anweisungen in this page dass KZcoding erwähnt (Teil: Dauerhaft einen Kernel-Boot-Parameter hinzufügen), um zu bestätigen

Mein Linux ist (vm in VirtualBox):

Linux ubuntu 4.4.0-21-generiC#37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 

Vor der Einstellung:

[email protected]:~$ free -m 
      total  used  free  shared buff/cache available 
Mem:   3630   305  3010   6   314  3264 
Swap:   3767   0  3767 

Genau diese Linie

GRUB_CMDLINE_LINUX_DEFAULT="" 

zu

GRUB_CMDLINE_LINUX_DEFAULT="mem=2G" 

dann in /etc/default/grub geändert res mach den Server scharf. Nach dem Neustart:

[email protected]:~$ free -m 
       total  used  free  shared buff/cache available 
Mem:   2000   298  1385   4   315  1651 
Swap:   3767   0  3767 
+0

Ich nehme an, wir müssen neu starten, um die Änderung im verfügbaren Speicher zu sehen? – Stephane

+0

Auf meinem 'Ubuntu 16.04' auch nach einem Neustart hat sich der verfügbare Speicher nicht geändert. – Stephane

+0

@Stephane hast du 'sudo update-grub' nach der Bearbeitung von '/ etc/default/grup' ausgeführt? – Yang

0

A1: Ja, Sie müssen neu starten.

A2: Der Kernel ist ziemlich verzeihend in Bezug auf Tippfehler. Es gibt keine Fehlermeldungen. Könnte das dein Problem sein? Beispiele: "mem = 512M" und "mem = 2G". Vergessen Sie nicht das Leerzeichen nach dem vorherigen Parameter, mem ist in Kleinbuchstaben, und K, M oder G sind Großbuchstaben.

Verwandte Themen