GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es la diferencia entre el búfer y la memoria caché en Linux?

Los búferes están asociados con un dispositivo de bloque específico y cubren el almacenamiento en caché de los metadatos del sistema de archivos, así como el seguimiento de las páginas en tránsito. El caché solo contiene datos de archivos estacionados. Es decir, los búferes recuerdan qué hay en los directorios, qué permisos de archivo tienen y realizan un seguimiento de qué memoria se está escribiendo o leyendo para un dispositivo de bloque en particular. El caché solo contiene el contenido de los archivos en sí.

enlace de cotización


Respuesta citada (para referencia):

Respuesta corta:Caché es el tamaño del caché de la página. Búferes es el tamaño de los búferes de E/S de bloque en memoria. Asuntos almacenados en caché; Los búferes son en gran medida irrelevantes.

Respuesta larga:En caché es el tamaño de la caché de la página de Linux, menos la memoria en la caché de intercambio, que está representada por SwapCached (por lo tanto, el tamaño total de la caché de la página es Caché + SwapCached). Linux realiza todas las E/S de archivos a través de la memoria caché de la página. Las escrituras se implementan simplemente marcando como sucias las páginas correspondientes en el caché de la página; los subprocesos de descarga luego escriben periódicamente en el disco las páginas sucias. Las lecturas se implementan devolviendo los datos de la memoria caché de la página; si los datos aún no están en la memoria caché, primero se rellenan. En un sistema Linux moderno, Cached puede ocupar fácilmente varios gigabytes. Se encogerá solo en respuesta a la presión de la memoria. El sistema purgará la memoria caché de la página junto con el intercambio de datos en el disco para disponer de más memoria según sea necesario.

Los búferes son búferes de E/S de bloque en memoria. Son relativamente de corta duración. Antes de la versión 2.4 del kernel de Linux, Linux tenía cachés de página y de búfer separados. A partir de la versión 2.4, la caché de la página y el búfer están unificados y los búferes son bloques de disco sin procesar que no están representados en la caché de la página, es decir, no son datos de archivos. Por lo tanto, la métrica Buffers tiene una importancia mínima. En la mayoría de los sistemas, los búfer suelen ser solo decenas de megabytes.


Linux
  1. ¿Cuál es la diferencia entre InnoDB y MyISAM?

  2. ¿Cuál es la diferencia entre un contenedor de Linux y una imagen?

  3. ¿Cuál es la diferencia entre env y set (en Mac OS X o Linux)?

  4. ¿Cuál es la diferencia entre una llamada de biblioteca y una llamada de sistema en Linux?

  5. ¿Cuál es la diferencia entre unlink y rm?

¿Cuál es la diferencia entre los núcleos de macOS y Linux?

¿Cuál es la diferencia entre Linux y Unix?

¿Cuál es la diferencia entre Rsync y BTRFS en Linux?

¿Qué es un Hipervisor? ¿Cuál es la diferencia entre el tipo 1 y 2?

¿Cuál es la diferencia entre curl y Wget?

¿Cuál es la diferencia entre DMA y E/S mapeada en memoria?