Arch Linux pense que j'ai environ 16 Go de RAM alors que je n'en ai que 8


10

J'ai fait plusieurs recherches et je ne trouve rien sur Google, mais arch a alloué 7,7 concerts au ram et 7,9 au swap.

  • Je n'ai que 8 concerts de RAM.

  • il a alloué plus de RAM à échanger que d'habitude

Comment pourrais-je changer les allocations?

sortie de 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


21
swap , par définition, n'utilise pas de RAM.
user4556274

1
Le même (ou un peu plus) échange alors vous avez de la RAM est un bon début ... Souvenez-vous également que l'espace d'échange peut être utilisé si vous hibernez (mettez la RAM sur le disque). Autrefois, on disait deux fois plus de swap que de RAM - mais pour Linux, cette "règle" ne s'appliquait que lorsque vous aviez 512 Mo ou moins (ou était-ce 256 Mo). Il y avait cependant systèmes Unix (au moins un) où la conception était telle que vous avez toujours avoir au moins deux fois la quantité de swap. Les premiers Linux avaient des limites sur la quantité de swap par partition, le nombre de partitions de swap et / ou le swap total. TBC
Baard Kopperud

2
Suite ... Pour vraiment décider de la quantité de swap dont vous avez besoin, vous devez vraiment vérifier soigneusement la quantité de mémoire dont les processus que vous (et vos utilisateurs) exécutez ont réellement besoin - mais n'oubliez pas que le swap ne remplace pas trop peu de RAM. Cela dit - et cela de quelqu'un qui n'a obtenu que 2 Go (pas "seulement" 8 Go comme vous) de RAM - la plupart des systèmes pourront conserver tous les processus en RAM. Cependant, ils n'en ont pas besoin , donc le swap est utilisé pour stocker des pages de mémoire "inutilisées" de processus - et parfois des processus "inutilisés" entiers - libérant ainsi de la RAM ... cette RAM "inutilisée", est ensuite utilisée comme tampon et cache, pour accélérer les choses.
Baard Kopperud

2
Le nombre de 7,7 Go provient probablement de ~ 300 Mo de RAM physique ayant été allouée en permanence au noyau. Cette RAM existe toujours mais ne peut pas être utilisée pour des programmes ordinaires.
zwol

1
Qu'est-ce qui vous fait croire "Arch pense que vous avez 16 Go de RAM"?
marcelm

Réponses:


26

Ce que cela vous dit, c'est que vous disposez de 16 Go de mémoire virtuelle .

La mémoire virtuelle est le total de la RAM physique et de l'espace d'échange ajoutés.

C'est une façon de laisser votre système exécuter plus de programmes qu'il n'en a physiquement d'espace.

La quantité de swap à allouer à une machine est une question compliquée et réfléchie; demandez à 2 personnes et obtenez 3 réponses :-)

Votre configuration n'est pas mauvaise, et je ne recommanderais pas d'y apporter des modifications tant que vous n'en apprendrez pas beaucoup plus sur le fonctionnement de la mémoire virtuelle et la façon de la régler. C'est un bon point de départ.


5
" La mémoire virtuelle est le total de la RAM physique et de l'espace de swap ajouté. " Non, ce n'est pas le cas. Par exemple, sur une machine 64 bits avec 4 Go de RAM et 4 Go de swap, je peux mapper en mémoire un fichier de 64 Go. C'est 64 Go de mémoire virtuelle, même si la RAM et le swap totalisent jusqu'à 8 Go.
David Schwartz

1
@DavidSchwartz est correct. Il est plus approprié de dire que la mémoire virtuelle peut être considérée comme de la mémoire, de préférence avec quelque chose qui la soutient. Ce quelque chose peut être soit des puces RAM, un port d'E / S, une partition de swap, un fichier de swap sur disque, ou un fichier normal sans signification particulière pour le système d'exploitation ou le gestionnaire de mémoire. Il n'est pas non plus nécessaire de fonctionner de telle manière que si vous écrivez quelque chose et que vous le relisez immédiatement, vous relisez ce que vous avez écrit. (Par exemple, certains registres d'E / S fonctionnent de cette manière.)
un CVn

1
C'est la "version débutant Unix 101". Je n'ai pas non plus mentionné comment les pages exécutables peuvent être ajoutées en tant que pages en lecture seule à la carte mémoire et d'autres choses amusantes comme la surutilisation. Cependant, comme approximation de premier niveau, VM = RAM + swap est assez proche, et c'est toute cette question qui était vraiment.
Stephen Harris

"Ce que cela vous dit, c'est que vous avez 16 Go de mémoire virtuelle." - Il n'y a aucun moyen de savoir que puisque l'OP n'a jamais expliqué pourquoi il pense qu'Arch dit qu'il a 16 Go.
marcelm

1
@StephenHarris Ce sont des approximations de premier niveau qui provoquent le malentendu derrière cette question. Les simplifications conviennent, tant qu'elles indiquent qu'elles sont des simplifications ou qu'elles sont correctes dans les faits.
David Schwartz
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.