Estas preguntas enumeran brevemente el formato del comando libre, señalando que los búferes son la memoria del kernel que debe escribirse en el disco y el caché son datos de archivo que no necesitan escribirse en el disco.
En mi sistema, a diferencia de la mayoría de las veces que lo he hecho, los búferes ocupan más del 10 % de la RAM. Por lo general, los búferes son un valor pequeño, casi simbólico.
Mi pregunta es, ¿qué hay exactamente en el área llamada buffers? ¿Puedo buscarlo con lsof
? ? ¿Consiste en regiones de archivos abiertos que no se han vaciado? ¿Son regiones de archivo mapeadas en memoria? ¿Qué es?
El sistema funciona bien y se usa poco intercambio, por lo que el rendimiento es bueno.
Respuesta aceptada:
free
extrae sus datos de /proc/meminfo
slkwr133701:/usr/src/linux # free
total used free shared buffers cached
Mem: 2053456 434572 1618884 0 77888 201820
slkwr133701:/usr/src/linux # cat /proc/meminfo
MemTotal: 2053456 kB
MemFree: 1618736 kB
Buffers: 77928 kB
....
Esto se refiere a la memoria utilizada para el almacenamiento temporal de E/S en bloque.
El núcleo tiene que asignar y liberar unidades del mismo tamaño constantemente, como transferencias de E/S en bloque, paquetes de red y búferes de socket
Puede ver mejor las asignaciones de cachés y búfer ejecutando slabtop
En respuesta a su pregunta de uso:el sistema generalmente asignará más bloques de los que necesita, pero a medida que aumente la "presión de la memoria", estos bloques adicionales se liberarán.