GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué cambia MemTotal en /proc/meminfo?

Eso nunca debería cambiar. Podría ser una indicación de algunas ubicaciones defectuosas dentro de la RAM. Puede diagnosticar su RAM usando Memtest86+.

Aparte de eso, la única forma en que ese número cambiaría podría ser si estuviera analizando una máquina virtual invitada. Quizás el host en el que se ejecuta el invitado de VM está ajustando la RAM asignada al invitado.

Editar #1

Desenterré esta publicación del foro que analiza la posible fuga de memoria por parte de los módulos del Kernel, lo que podría provocar el cambio de MemTotal.

extracto de:Re:¿Cómo se determina la cantidad de memoria del sistema?

El 30/7/08, Bill McGonigle escribió:

El 30 de julio de 2008, a las 10:03, Thomas Charron escribió:

MemTotal puede cambiar. MemTotal no muestra la memoria utilizada por los archivos binarios del núcleo en la memoria; sin embargo, hay situaciones en las que los módulos pueden perder memoria, lo que también se elimina de MemTotal. No recuerdo los detalles de lo que sucedió, pero sé de qué está hablando Paul ahora. Bueno, eso es solo un error si defines MemTotal como la memoria física presente en una máquina. Si lo ve como la memoria total disponible para el núcleo, está funcionando correctamente, ¿verdad?

Sí, y el 'error' es que cuando ese número baja, significa que algo se filtra, es decir, un 'núcleo defectuoso'. Módulos del kernel al menos potencialmente 'malos' (léase potencialmente defectuosos).


No me sentía cómodo teniendo errores en el kernel o en un módulo, así que investigué más y descubrí... que MemTotal puede cambiar regularmente, hacia abajo o hacia arriba. No es una constante y este valor es definitivamente modificado por el código del kernel en muchos lugares, bajo diversas circunstancias.

P.ej. virtio_balloon kmod puede disminuir MemTotal así como aumentarlo de nuevo. Luego, por supuesto, mm/memory_hotplug.c está exportando [add|remove]_memory , los cuales también son utilizados por muchos conductores.


Linux
  1. ¿Cómo llenar el 90% de la memoria libre?

  2. Linux – ¿Vincular /proc/mnt a /proc/mounts?

  3. ¿Cómo cambiar los puntos de montaje?

  4. /proc/[pid]/pagemaps y /proc/[pid]/maps | linux

  5. ¿Por qué malloc() llama a mmap() y brk() indistintamente?

Archivos /proc/cpuinfo y /proc/meminfo en Linux

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions

¿Por qué find -exec mv {} ./target/ + no funciona?

¿Cuándo debo usar /dev/shm/ y cuándo debo usar /tmp/?

¿Cómo funciona /proc/*?

¿Deberían vivir los sitios web en /var/ o /usr/ según el uso recomendado?