Arch Linux uważa, że ​​mam około 16 koncertów pamięci RAM, gdy mam tylko 8

10

Przeprowadziłem kilka wyszukiwań i nie mogę znaleźć w Google nic na temat tego, dlaczego arch przydzielił 7,7 koncertów pamięci RAM i 7,9 wymiany.

  • Mam tylko 8 koncertów pamięci RAM.

  • przydzielił więcej pamięci RAM do wymiany niż normalnie

Jak mogę zmienić przydziały?

wyjście cat /proc/meminfo: MemTotal: 8091960 kB MemFree: 4925736 kB MemAvailable: 6131188 kB Buffers: 268936 kB Cached: 1219460 kB SwapCached: 0 kB Active: 1527516 kB Inactive: 1301140 kB Active(anon): 768904 kB Inactive(anon): 711440 kB Active(file): 758612 kB Inactive(file): 589700 kB Unevictable: 32 kB Mlocked: 32 kB SwapTotal: 8300540 kB SwapFree: 8300540 kB Dirty: 1960 kB Writeback: 0 kB AnonPages: 1306968 kB Mapped: 382800 kB Shmem: 140100 kB Slab: 197964 kB SReclaimable: 163104 kB SUnreclaim: 34860 kB KernelStack: 6864 kB PageTables: 29200 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 12346520 kB Committed_AS: 3927808 kB VmallocTotal: 34359738367 kB VmallocUsed: 0 kB VmallocChunk: 0 kB HardwareCorrupted: 0 kB AnonHugePages: 186368 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 584316 kB DirectMap2M: 7716864 kB DirectMap1G: 0 kB

szczęka2233
źródło
21
swap z definicji nie używa pamięci RAM.
user4556274,
1
Ta sama (lub trochę więcej) zamiana, a następnie pamięć RAM, jest dobrym początkiem ... Pamiętaj również, że w przypadku hibernacji (umieszczenia pamięci RAM na dysku) można użyć przestrzeni wymiany. W dawnych czasach mówiono dwa razy więcej wymiany niż RAM - ale w przypadku Linuksa ta „reguła” obowiązywała tylko wtedy, gdy masz 512 MB lub mniej (lub było to 256 MB). Były jednak systemy uniksowe (przynajmniej jeden), w których projekt był taki, że zawsze musiałeś mieć co najmniej dwukrotność wymiany. Wczesny system Linux miał ograniczenia dotyczące ilości wymiany na partycję, liczby partycji wymiany i / lub całkowitej wymiany. TBC
Baard Kopperud
2
Ciąg dalszy ... Aby naprawdę zdecydować, ile wymiany potrzebujesz, naprawdę powinieneś dokładnie sprawdzić, ile pamięci procesy, które ty (i twoi użytkownicy) wykonujesz, faktycznie potrzebujesz - ale pamiętaj, że zamiana nie zastępuje zbyt małej pamięci RAM. To powiedziawszy - i to od kogoś, kto ma tylko 2 GB pamięci RAM (nie „tylko” 8 GB jak ty) - większość systemów będzie w stanie utrzymać wszystkie procesy w pamięci RAM. Jednak nie muszą , więc swap służy do przechowywania „nieużywanych” stron pamięci procesów - a czasami całych „nieużywanych” procesów - zwalniając w ten sposób pamięć RAM… ta „nieużywana” pamięć RAM jest następnie używana jako bufor i pamięć podręczna, aby przyspieszyć.
Baard Kopperud
2
Liczba 7,7 GB prawdopodobnie pochodzi z ~ 300 MB fizycznej pamięci RAM, która została na stałe przydzielona do jądra. Ta pamięć RAM nadal istnieje, ale nie można jej używać do zwykłych programów.
zwol
1
Co prowadzi cię do przekonania, że ​​„Arch myśli, że masz 16 GB pamięci RAM”?
marcelm

Odpowiedzi:

26

To oznacza, że ​​masz 16 GB pamięci wirtualnej .

Pamięć wirtualna to suma fizycznej pamięci RAM i zsumowanej przestrzeni wymiany.

Jest to sposób na umożliwienie systemowi uruchamiania większej liczby programów, niż jest to fizycznie potrzebne.

Ile swapów należy przeznaczyć na maszynę to skomplikowane i opiniotwórcze pytanie; zapytaj 2 osoby i uzyskaj 3 odpowiedzi :-)

Twoja konfiguracja nie jest zła i nie zalecałbym wprowadzania w niej zmian, dopóki nie dowiesz się dużo więcej o tym, jak działa pamięć wirtualna i jak ją dostroić. To dobry punkt wyjścia.

Stephen Harris
źródło
5
Pamięć wirtualna to suma dodanej fizycznej pamięci RAM i przestrzeni wymiany. ” Nie, nie jest. Na przykład na komputerze 64-bitowym z 4 GB pamięci RAM i 4 GB wymiany, mogę zmapować pamięć pliku 64 GB. To 64 GB pamięci wirtualnej, mimo że pamięć RAM i swap stanowią do 8 GB.
David Schwartz,
1
@DavidSchwartz jest poprawny. Bardziej właściwe jest stwierdzenie, że pamięć wirtualna może być nazywana pamięcią, najlepiej z czymś, co ją wspiera. Tym czymś mogą być albo układy RAM, jakiś port I / O, partycja wymiany, plik wymiany na dysku lub zwykły plik bez specjalnego znaczenia dla systemu operacyjnego lub menedżera pamięci. Nie jest również wymagane, aby funkcjonować w taki sposób, że jeśli coś napiszesz, a następnie natychmiast odczytujesz, odczytujesz to, co napisałeś. (Na przykład niektóre rejestry we / wy działają w ten sposób.)
CVn
1
To „wersja dla początkujących Unix 101”. Nie wspomniałem również o tym, jak strony wykonywalne można dodawać do mapy pamięci jako strony tylko do odczytu i inne zabawne rzeczy, takie jak totalocation. Jednak jako przybliżenie pierwszego poziomu VM = RAM + swap jest wystarczająco blisko i czy to wszystko dotyczyło tego pytania.
Stephen Harris,
„Oznacza to, że masz 16 GB pamięci wirtualnej”. - Nie można tego wiedzieć, ponieważ OP nigdy nie wyjaśnił, dlaczego uważa, że ​​Arch mówi, że ma 16 GB.
marcelm
1
@StephenHarris To przybliżenia pierwszego poziomu powodują nieporozumienia stojące za tym pytaniem. Uproszczenia są w porządku, o ile albo wskazują, że są uproszczeniami lub są zgodne z faktami.
David Schwartz