GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo borrar el búfer/pagecache (caché de disco) en Linux

¿Se enfrenta a un problema de rendimiento y sospecha que podría estar relacionado con el uso de la memoria caché? El uso elevado de caché normalmente no debería causar problemas de rendimiento, pero podría ser la causa raíz en algunos casos excepcionales.

¿Qué es la caché de memoria?

Con el fin de acelerar las operaciones y reducir la E/S del disco, el kernel generalmente almacena en caché tanto como tiene memoria. Por diseño, las páginas que contienen datos en caché se pueden reutilizar bajo demanda para otros usos (por ejemplo, aplicaciones). El camino no es más lento que reclamar páginas vírgenes e intactas.

¿Cuál es el propósito de /proc/sys/vm/drop_caches

Escribir en /proc/sys/vm/drop_caches permite solicitar que el kernel suelte inmediatamente la mayor cantidad posible de datos almacenados en caché limpios. Por lo general, esto dará como resultado que parte de la memoria esté más disponible; sin embargo, en circunstancias normales, esto no debería ser necesario.

Cómo borrar la caché de memoria usando /proc/sys/vm/drop_caches

Escribiendo el valor apropiado en el archivo /proc/sys/vm/drop_caches hace que el núcleo elimine cachés, dentries e inodos limpios de la memoria, lo que hace que la memoria quede libre.

1. Para borrar PageCache solo ejecuta:

# sync; echo 1 > /proc/sys/vm/drop_caches

2. Para borrar los dentries (también llamados caché de directorio) y los inodos, ejecute:

# sync; echo 2 > /proc/sys/vm/drop_caches

3. Para borrar PageCache, los dentries y los inodos ejecutan:

# sync; echo 3 > /proc/sys/vm/drop_caches

La ejecución de la sincronización escribe las páginas sucias en los discos. Normalmente, las páginas sucias son la memoria en uso, por lo que no están disponibles para liberar. Por lo tanto, ejecutar la sincronización puede ayudar a que las operaciones de eliminación subsiguientes liberen más memoria.

Caché de página es la memoria retenida después de leer los archivos. El kernel de Linux prefiere mantener la memoria caché de la página sin usar, suponiendo que los archivos que se leen una vez probablemente se volverán a leer en un futuro próximo, evitando así el impacto en el rendimiento de la E/S del disco.

dentry e inode_cache son memoria retenida después de leer atributos de directorio/archivo, como open() y stat(). dentry es común en todos los sistemas de archivos, pero inode_cache es por sistema de archivos. El kernel de Linux prefiere mantener esta información asumiendo que será necesaria nuevamente en un futuro cercano, evitando así la E/S del disco.

Nota :Comenzar con el comando de sincronización como se muestra en los 3 comandos anteriores es opcional. El comando de sincronización permite que el kernel escriba tantas páginas de caché sucias en el disco como pueda (para maximizar la cantidad de páginas de caché de datos que se pueden eliminar)

Cómo borrar la caché de memoria usando sysctl

También puede desencadenar la eliminación de caché usando sysctl -w vm.drop_caches=[number] dominio.

1. Para liberar caché de páginas, dentries e inodos, use el siguiente comando.

sysctl -w vm.drop_caches=3

2. Para liberar dentries e inodos únicamente, use el siguiente comando.

sysctl -w vm.drop_caches=2 

3. Para liberar solo el caché de la página, use el siguiente comando.

sysctl -w vm.drop_caches=1
Nota :¡Usar vm.drop_caches puede causar un interbloqueo si el sistema tiene mucha memoria y carga de E/S!

Los datos en caché "limpios" son elegibles para descartar. Los datos almacenados en caché "sucios" deben escribirse en alguna parte. El uso de vm.drop_caches nunca activará el kernel para soltar caché sucio.


Cent OS
  1. Cómo borrar la memoria caché del navegador web desde la línea de comandos en Linux

  2. Linux – ¿Cómo dar RAM a la caché del sistema de archivos?

  3. ¿Cómo borro la caché en Firefox?

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

  5. Cómo encontrar el tamaño del búfer de socket de Linux

Cómo borrar o vaciar la caché de DNS en Linux

Cómo administrar volúmenes de disco en Linux

Cómo borrar la caché de RAM, el búfer y el espacio de intercambio en el sistema Linux

Cómo borrar la memoria de intercambio en Linux

Cómo instalar KernelCare y borrar Kernelcare Cache en Linux

Cómo borrar el caché de la memoria RAM, el búfer y el espacio de intercambio en Linux