En este tutorial, aprenderemos cómo borrar la caché de RAM en Linux y limpiar el espacio de intercambio.
Al igual que todos los demás sistemas operativos, GNU/Linux también ha implementado un sistema de gestión de memoria. Aunque la gestión de la memoria de Linux es mucho más eficiente e incluso más utilizada que otros sistemas operativos. Sin embargo, en algunos casos en los que desea controlar la administración de la memoria o si hay uno o más procesos que están consumiendo la RAM de su sistema. En tal caso, queremos detenerlo; linux proporciona algunas formas de vaciar (borrar caché de RAM).
¿Cómo borrar el caché en Linux?
Casi en todos los sistemas Linux, se proporcionan tres métodos para borrar el caché. Algunos de estos se pueden utilizar notablemente sin interrumpir ningún proceso o servicio en curso. Las tres formas son las siguientes:
- Borrar sólo PageCache
- Limpiar dentries e inodos.
- Borrar dentries e inodos, borrar PageCache
Discutiremos los tres métodos en detalle y también veremos su implementación práctica:
1. Borrar solo PageCache
Este método es una de las formas más seguras de limpiar el caché de Linux porque puede borrarlo sin interrumpir ninguna operación, aplicación y servicio en curso. Se dice que esta es la forma más segura de limpiar el caché, ya que se puede usar en producción y solo limpia PageCache. En este método, se utilizan los siguientes comandos:
Dominio
excepción personalizada en java
# sync ; echo 1 > proc/sys/vm/drop_caches
Explicación:
En el comando anterior, el ' sincronizar ' se utiliza para vaciar el búfer del sistema de archivos y el comando se separa mediante ' ; ' ejecutado de forma secuencial.
Sin embargo, el shell espera a que se ejecute o finalice cada comando antes de comenzar la ejecución del siguiente comando disponible en la secuencia.
El drop_caches se utilizan para vaciar o limpiar el caché sin matar ni afectar ninguna otra aplicación o servicio en ejecución, como también se menciona claramente en la documentación del kernel. El ' eco ' El comando hace el trabajo de escribir en archivos.
Pasos para borrar PageCache usando Terminal:
Paso 1 - Abra la Terminal en Linux, escriba el siguiente comando y presione Enter. Una vez que se ejecuta el comando, mostrará la información sobre la memoria del sistema, como se muestra en el ejemplo:
Dominio
free
El comando anterior se usa para mostrar cuánta memoria se usa y mostrar otros factores como la memoria total disponible, la memoria de intercambio, etc. Podemos usar esto ' gratis 'comando justo antes y después mientras se usa cada método.
Es necesario utilizar el comando 'libre' antes y después de ejecutar el comando real para que podamos ver o detectar fácilmente cambios en la asignación de memoria. Veamos un ejemplo para entender cómo funciona realmente todo el proceso:
Ejemplo
2. Limpiar dentries e inodos.
Este método se utiliza para borrar la memoria de dentries e inodos. Es igual que el primer método, pero ligeramente diferente, ya que se utiliza para borrar la memoria de dentries e inodos en lugar de borrar la memoria de PageCache. Aún así, es muy parecido al primer método que hemos comentado anteriormente. El comando utilizado en este método se proporciona a continuación:
Dominio
# sync ; echo 2 > proc / sys / vm / drop_caches
Veamos un ejemplo para entender cómo implementar este método:
Ejemplo
3. Borrar dentries e inodos, borrar PageCache
Es uno de los métodos más efectivos. Sin embargo, tradicionalmente no se recomienda su uso hasta que sepa lo que está haciendo porque no se considera el más seguro de usar, especialmente en producción. El comando utilizado en este método utiliza 'echo 3 >' que limpia PageCache, dentries e inodos al mismo tiempo.
Dominio:
# sync ; echo 3 > / porc / sys / vm / drop_caches
Para comprender con más detalle cómo funciona realmente, considere el ejemplo dado:
Ejemplo:
Nota: No se recomienda usarlo en producción a menos que sepa lo que está haciendo porque limpiará instantáneamente PageCache y dentries, y también los inodos, como ya comentamos anteriormente.
Intercambiar espacio
En general, el espacio de intercambio se utiliza cuando la utilización de la memoria física está casi en su punto máximo. Entonces, cuando el sistema necesita más recursos de memoria y la memoria RAM física se llena, todas las páginas inactivas se transfieren al espacio de memoria de intercambio.
multiplexación
Sin embargo, el espacio de la memoria de intercambio también ayuda al sistema como una cantidad pequeña pero efectiva de Ram. Aún así, sin duda no es recomendable considerar el Swap Space como el Physical Ram.
¿Cómo borrar el espacio de intercambio en Linux?
Para borrar la memoria de intercambio en su sistema, simplemente necesita desactivar el intercambio. Esto moverá todos los datos de la memoria de intercambio nuevamente a la RAM. También significa que debe asegurarse de tener suficiente RAM en su sistema para admitir esta operación.
Una manera fácil de hacer esto es ejecutar el 'libre-m' comando para ver qué se está utilizando en Swap, RAM y luego deshabilite Swap.
Una vez que lo apague, debe esperar 30 segundos o más para permitir que se complete la operación y luego volver a encender el Swap. Esto borra la memoria caché de intercambio y la vuelve a habilitar, pero antes de borrar el intercambio, debería ver la configuración actual (o predeterminada) de su sistema.
Para ver la configuración actual del intercambio de su sistema, solo necesita abrir la terminal y usar el siguiente comando como se muestra en el resultado:
cat /proc/sys/vm/swappiness
Producción
palabra clave final en java
Como puede ver, el valor de intercambio actual de nuestro sistema es '60' segundos. Sin embargo, si desea cambiarlo, puede configurarlo entre 0 y 100. El proceso de edición (actualización) de este valor es bastante simple. Todo, debe escribir el siguiente comando en la Terminal y presionar Enter:
Dominio:
sudo sysctl vm.swappiness=x
(Aquí x es el valor de intercambio que queremos establecer)
Como puede ver en el resultado anterior, el valor de intercambio actual de nuestro sistema (o valor predeterminado) es 60. Intentemos cambiar el valor de intercambio a 40.
1. Abra la Terminal presionando el botón Ctrl+Alt+T en el teclado.
2. Una vez que se abra la terminal, escriba el siguiente comando y presione Entrar, como se muestra en la imagen que se muestra a continuación:
sudo sysctl vm.swappiness=40
Producción
Nota: Es posible que le solicite que ingrese la contraseña, ya que necesitamos ejecutar este comando con privilegios de superusuario (usuario root).
Verificación
Para verificar que el valor de intercambio se haya actualizado correctamente, escriba el siguiente comando y presione el botón Intro:
cat /proc/sys/vm/swappiness
Producción
Como puede ver en el resultado, hemos actualizado con éxito el valor de intercambio a 40.
Limpiar espacio de intercambio
Para limpiar el espacio de intercambio, el proceso es bastante simple porque simplemente necesitamos apagar el ciclo el Swap, debido a que todos los datos o páginas inactivas se transfieren nuevamente a la RAM desde el espacio de memoria Swap. Una vez que cierre el Swap, debe esperar 30 segundos y deberá reiniciar o reiniciar el espacio de intercambio nuevamente.
Comandos útiles:
Estos son algunos comandos básicos que nos ayudarán en la limpieza del Swap Space:
Pasos para borrar la memoria de intercambio
Veamos cómo usar estos comandos para borrar el espacio de intercambio o la memoria:
Paso 1. Abra la Terminal presionando el botón ' Ctrl+Alt+T ' en el teclado.
Paso 2. Una vez que se abra la Terminal, escriba ' sudo-i 'comando porque podemos requerir privilegios de superusuario para ejecutar los comandos anteriores:
Paso 3. Escriba el comando 'free -m' para ver la utilización de la memoria antes apagar el ciclo el Intercambio :
ejemplos de programas en Python
Etapa 4 Ahora, escribe el ' Intercambio -a ' y presione Enter para desactivar el Swap como se muestra a continuación:
Paso 5. Después de la apagar el ciclo , el Swap espera al menos 40 segundos.
Paso 6. Ahora escribe 'swap-a' y presiona Enter para volver a habilitar Swap. Para ver la diferencia (o cambio) en el uso de la memoria, ejecute el comando 'free-m' una vez más, como se muestra a continuación:
Con suerte, esto le ayudará a borrar la memoria de intercambio de su sistema si alguna vez se encuentra en una situación así.