Arch Linux cree que tengo alrededor de 16 gigas de RAM cuando solo tengo 8

10

He realizado varias búsquedas y no puedo encontrar nada en Google sobre por qué, pero arch ha asignado 7.7 gigas a ram y 7.9 a swap.

  • Solo tengo 8 gigas de carnero.

  • asignó más ram al intercambio de lo normal

¿Cómo podría cambiar las asignaciones?

salida 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

jaw2233
fuente
21
swap es, por definición, no usar RAM.
user4556274
1
El mismo intercambio (o un poco más) luego de que obtuviste RAM es un buen comienzo ... También recuerda que el espacio de intercambio se puede usar si hibernas (pones RAM en el disco). En los viejos tiempos, uno decía el doble de intercambio que RAM, pero para Linux, esa "regla" solo se aplicaba cuando tenía 512 MB o menos (o era 256 MB). Sin embargo, había sistemas Unix (al menos uno) donde el diseño era tal que siempre había que tener al menos el doble de la cantidad de intercambio. Los primeros Linux tenían límites sobre cuánto intercambio por partición, número de particiones de intercambio y / o intercambio total. TBC
Baard Kopperud
2
Continúa ... Para decidir realmente cuánto intercambio necesita, realmente debe auditar cuidadosamente cuánta memoria necesitan realmente los procesos que usted (y sus usuarios) ejecutan, pero recuerde que el intercambio no sustituye a la poca RAM. Dicho esto, y esto de alguien que solo tiene 2GB (no "solo" 8GB como usted) RAM, la mayoría de los sistemas podrán mantener todos los procesos en RAM. Sin embargo, no es necesario , por lo que el intercambio se utiliza para almacenar páginas de procesos "no utilizados" y, a veces, procesos "no utilizados" completos, liberando así la RAM ... esta RAM "no utilizada", luego se utiliza como búfer y caché, para acelerar las cosas.
Baard Kopperud
2
El número de 7.7GB probablemente proviene de ~ 300MB de RAM física que se ha asignado permanentemente al kernel. Esa RAM todavía existe pero no se puede usar para programas ordinarios.
zwol
1
¿Qué te lleva a creer que "Arch cree que tienes 16 GB de RAM"?
marcelm

Respuestas:

26

Lo que esto te dice es que tienes 16 GB de memoria virtual .

La memoria virtual es el total de RAM física y espacio de intercambio sumado.

Es una forma de permitir que su sistema ejecute más programas de los que físicamente tiene espacio.

La cantidad de intercambio que debe asignarse a una máquina es una pregunta complicada y obstinada; pregunte a 2 personas y obtenga 3 respuestas :-)

Su configuración no es mala, y no recomendaría hacer cambios hasta que aprenda mucho más sobre cómo funciona la memoria virtual y cómo ajustarla. Es un buen punto de partida.

Stephen Harris
fuente
55
" La memoria virtual es el total de RAM física y espacio de intercambio agregado " . No, no lo es. Por ejemplo, en una máquina de 64 bits con 4 GB de RAM y 4 GB de intercambio, puedo asignar un archivo de memoria de 64 GB. Eso es 64 GB de memoria virtual, aunque la RAM y el intercambio suman 8 GB.
David Schwartz
1
@DavidSchwartz es correcto. Es más apropiado decir que la memoria virtual es lo que se puede abordar como memoria, preferiblemente con algo que la respalde. Ese algo puede ser chips RAM, algún puerto de E / S, una partición de intercambio, un archivo de intercambio en el disco o un archivo normal sin un significado especial para el sistema operativo o el administrador de memoria. Tampoco es necesario que funcione de tal manera que si escribe algo y luego lo lee de inmediato, vuelve a leer lo que escribió. (Por ejemplo, algunos registros de E / S funcionan de esta manera.)
un CVn el
1
Es la "versión para principiantes de Unix 101". Tampoco mencioné cómo se pueden agregar páginas ejecutables como páginas de solo lectura al mapa de memoria y otras cosas divertidas como la sobreasignación. Sin embargo, como aproximación de primer nivel, VM = RAM + swap está lo suficientemente cerca, y de eso se trataba realmente esta pregunta.
Stephen Harris
"Lo que esto te dice es que tienes 16 GB de memoria virtual". - No hay forma de saberlo, ya que el OP nunca ha explicado por qué cree que Arch dice que tiene 16 GB.
marcelm
1
@StephenHarris Son las aproximaciones de primer nivel las que causan el malentendido detrás de esta pregunta. Las simplificaciones están bien, siempre que indiquen que son simplificaciones o que son correctas.
David Schwartz