2012-11-20 11 views

Odpowiedz

13

Znalazłem odpowiedź, której szukałem. Zasadniczo parametrem, który ustawia całkowitą dostępną pamięć fizyczną jest "mem = MEMORY_LIMIT". I jest to parametr rozruchu jądra. Trzeba dodać, powiedz "mem = 1G", aby maksymalnie 1 GB dostępnej pamięci fizycznej do parametru rozruchu jądra. Aby uzyskać więcej informacji na temat dodawania jądra parametry startowe zajrzeć https://wiki.ubuntu.com/Kernel/KernelBootParameters

+0

Parametr ma nieco inne znaczenie dla systemów x86 (zarówno 32, jak i 64-bitowych): "mem = nn [KMG] [...] [X86] Praca jako ograniczający maksymalny adres" ([źródło] (https: // www .kernel.org/doc/Documentation/kernel-parameters.txt)).Z powodu zarezerwowanych sekcji pamięci jego wartość na x86 będzie większa niż ilość pamięci udostępniana systemowi operacyjnemu. Przykład: Musiałem użyć 'mem = 6700M', aby uzyskać 5365 z 6144 MiB (6 GiB) fizycznie dostępnej pamięci. – tanius

5

zmieniać swoich jądra parametry startowe w lilo.conf, grub.conf, grub.cfg lub menu.lst (co jeden zależy od konkretnej dystrybucji oraz bootloadera, sprawdź dokumentację swojej dystrybucji, aby uzyskać więcej szczegółów) zawierać parametr mem=512M (lub niezależnie od wielkości chcesz emulować) w linii określającej parametry jądra.

Na przykład w Grubie powinien znajdować się wiersz o następującej treści: kernel /boot/vmlinuz param1=val1 param2=val2. Dodaj mem=512M do tej listy parametrów. Możesz tworzyć oddzielne wpisy dla menu startowego, kopiując te wszystkie definicje, zmieniając ich nazwy i konfigurując każdą z inną ilością pamięci, aby można było szybko uruchomić z różnymi ustawieniami.

2

Aby dodać do listy Brian Campbell, dla bootloadera Uboot na/czarny urządzeń BeagleBone, edytować paramters jądra w /boot/uboot/uEnv.txt
dodać lub zmodyfikować linię mmcargs=setenv bootargs mem=512M [testowane z Debianem]

Zastosowanie > free przed i po [restart], aby potwierdzić zmianę

0

mam przestrzegać instrukcji w this page że KZcoding wymienionego (część: trwale dodać Kernel Boot parametrów)

My Linux (VM w 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 

Przed ustawieniem:

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

właśnie zmienił ten wiersz w /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="" 

do

GRUB_CMDLINE_LINUX_DEFAULT="mem=2G" 

następnie res tartować serwer. Po ponownym uruchomieniu:

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

Przypuszczam, że musimy ponownie uruchomić system, aby zobaczyć zmianę w dostępnej pamięci? – Stephane

+0

Na moim 'Ubuntu 16.04' nawet po ponownym uruchomieniu, dostępna pamięć nie uległa zmianie. – Stephane

+0

@Stephane uruchomiłeś 'sudo update-grub' po edycji'/etc/default/grup'? – Yang

0

A1: Tak, musisz zrestartować komputer.

A2: Jądro jest raczej bezlitosne w odniesieniu do literówek. Brak komunikatów o błędach. Czy to może być twój problem? Przykłady: "mem = 512M" i "mem = 2G". Nie zapominaj o spacji następującej po poprzednim parametrze, mem jest małymi literami, a K, M lub G są dużymi literami.

Powiązane problemy