it-swarm-es.tech

Nuevos 16GB de RAM instalados pero veo 15.3 en mi sistema. ¿Por qué?

Acabo de cambiar 4 GB a 16 GB de RAM. Sin embargo, cuando miro cuánta memoria tengo, dice 15.3. Me pregunto por qué mi memoria se cayó cuando acabo de instalar 16 GB de RAM.

system details screenshot

6
Geri Sati

Respuesta corta

Probablemente sea solo el kernel que usa memoria. En lugar de informar el uso de la memoria del kernel, Ubuntu resta del total disponible. Esto es simplemente para hacerle saber que la memoria del núcleo no se puede liberar en la mayoría de los casos. Esa memoria se está utilizando para cosas que son absolutamente necesarias, por lo que nunca estará disponible.

Comandos de diagnóstico

No espero que ejecute todo esto, pero los he incluido aquí como referencia e integridad. Los más relevantes son los comandos 3 y 4. También tenga en cuenta que todos los tamaños estarán en la base 2 (por ejemplo, GiB) y no en la base 10 (por ejemplo, GB) a pesar de las abreviaturas de las unidades.

  1. Puede verificar qué tan grandes dicen sus RAM palos con:

    Sudo dmidecode | grep Size | grep MB
    
  2. Puede verificar cuánto RAM está disponible para uso general con (busque Mem y total):

    free -h
    
  3. Puede estimar cuánta memoria está usando el núcleo con:

    cat /proc/meminfo | grep Slab
    
  4. Puede verificar la memoria de la tarjeta gráfica "robada" con:

    dmesg | grep stolen
    
  5. Puede buscar memoria reservada de hardware específico mirando a través de:

    dmesg | grep e820
    
  6. Puede probar para asegurarse de que toda su memoria funcione ejecutando memtest

Explicación

La explicación más probable es simplemente que el espacio adicional está siendo utilizado por su tarjeta gráfica o el núcleo mismo. Si no está familiarizado, el núcleo es la parte de nivel más bajo del sistema operativo, y cualquier memoria que esté utilizando no estará disponible para usted, por lo que no se informa como gratuita. La memoria puede usarse por varias razones, como las tablas de memoria virtual, E/S mapeadas en memoria, procesos de kernel, ciertas memorias caché, memoria gráfica compartida, etc.

Ejemplo: mirar mi computadora portátil

Es muy probable que agregar la salida del comando 3 a su 15.3GiB resulte casi exactamente 16GiB. Este fue el caso en mi sistema:

  • RAM instalada: 6GiB
  • Informado en Configuración del sistema> Detalles: 5.6GiB
  • Salida de cat /proc/meminfo | grep Slab: 316652 kB
  • Convertido a GiB: 316652/2^20 = 0.3GiB
  • Salida de dmesg | grep stolen: 32768K
  • Convertido a GiB: 32768/2^20 = 0.03GiB
  • Agregándolos juntos: 5.6 + 0.3 + 0.03 = 5.93GiB

Dado que la memoria Slab no es completa, podemos suponer que el núcleo está utilizando el 0.07GiB restante en lugares que no podemos ver, por lo que este es un resultado muy satisfactorio.

Ver también

15
TheSchwa