it-swarm.com.de

Begrenzung des gesamten unter Linux verfügbaren physischen Arbeitsspeichers

Ich weiß, dass ich mem=MEMORY_LIMIT setzen soll. Ich weiß jedoch nicht, wohin, zur Laufzeit oder während der Boot-Zeit, um den gesamten physischen Speicher festzulegen, auf den das Betriebssystem die Kontrolle hat.

Ich verwende E/A-Benchmarks und möchte den gesamten verfügbaren physischen Speicher begrenzen.

14
KZcoding

Ich habe die Antwort gefunden, nach der ich gesucht habe. Grundsätzlich ist der Parameter, der den insgesamt verfügbaren physischen Speicher festlegt, "mem = MEMORY_LIMIT". Und dies ist ein Kernel-Boot-Parameter. Sie müssen zum Kernel-Boot-Parameter "mem = 1G" hinzufügen, um maximal 1 GB verfügbaren physischen Arbeitsspeicher zu erhalten. Weitere Informationen zum Hinzufügen von Kernel-Boot-Parametern finden Sie unter https://wiki.ubuntu.com/Kernel/KernelBootParameters

15
KZcoding

Bearbeiten Sie Ihre Kernel-Boot-Parameter in lilo.conf, grub.conf, grub.cfg oder menu.lst (die von Ihrer jeweiligen Distribution und Ihrem Bootloader abhängt; überprüfen Sie die Dokumentation Ihrer Distribution auf weitere Einzelheiten), um den Parameter mem=512M (oder welche Größe Sie auch emulieren möchten) in die Zeile aufzunehmen Angabe Ihrer Kernel-Parameter. 

In Grub sollte beispielsweise eine Zeile stehen, die etwa kernel /boot/vmlinuz param1=val1 param2=val2 lautet. Fügen Sie der Parameterliste den mem=512M hinzu. Sie können separate Einträge für Ihr Startmenü erstellen, indem Sie diese gesamten Definitionen kopieren, umbenennen und jede mit einem anderen Speicherplatz konfigurieren, sodass Sie schnell mit unterschiedlichen Einstellungen booten können.

6
Brian Campbell

Um Brian Campbells Liste hinzuzufügen, bearbeiten Sie für den uBoot-Bootloader auf den BeagleBone/Black-Geräten die Kernel-Parameter in /boot/uboot/uEnv.txt
Hinzufügen oder Ändern der Zeile mmcargs=setenv bootargs mem=512M [getestet mit Debian]

Verwenden Sie > free vor und nach [Neustart], um die Änderung zu bestätigen

3
TekuConcept

Ich habe die Anweisungen in dieser Seite der von KZcoding genannten (befolgt: Kernel-Bootparameter dauerhaft hinzufügen)

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 dem Einstellen:

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

Habe gerade diese Zeile in /etc/default/grub geändert

GRUB_CMDLINE_LINUX_DEFAULT=""

zu

GRUB_CMDLINE_LINUX_DEFAULT="mem=2G"

starten Sie anschließend den Server neu. 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
Yavuz Sert

A1: Ja, Sie müssen neu starten.

A2: Der Kernel ist in Bezug auf Tippfehler ziemlich unversöhnlich. Es werden keine Fehlermeldungen angezeigt. 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.

0
George Rolf