Kernel de Linux

Entendiendo VM.perversidad

Entendiendo VM.perversidad
El kernel de Linux es una pieza de software bastante compleja con una larga lista de componentes como módulos, interfaces y archivos de configuración [1]. Estos componentes se pueden configurar con valores específicos para lograr un comportamiento o modo de funcionamiento deseado del componente [2,3,4]. Posteriormente, esta configuración influye directamente tanto en el comportamiento como en el rendimiento de su sistema Linux en su conjunto.

Se puede acceder a los valores actuales del kernel de Linux y sus componentes mediante una interfaz especial: el directorio / proc [5]. Este es un sistema de archivos virtual en el que los archivos individuales se llenan con valores en tiempo real. Los valores representan el estado real en el que se encuentra el kernel de Linux. Puede acceder a los archivos individuales en el directorio / proc usando el comando cat de la siguiente manera:

$ cat / proc / sys / net / core / somaxconn
128
PS

Uno de estos parámetros del kernel se llama vm.perversidad. "Controla el peso relativo dado al intercambio de memoria en tiempo de ejecución, en lugar de eliminar páginas de memoria de la caché de la página del sistema" [6]. Comenzando con las versiones 2 del kernel de Linux.6 este valor fue introducido. Se almacena en el archivo / proc / sys / vm / swappiness .

Usando Swap

El uso de swap [6] fue una parte esencial del uso de máquinas UNIX más pequeñas a principios de la década de 1990. Sigue siendo útil (como tener una llanta de repuesto en su vehículo) cuando las desagradables pérdidas de memoria interfieren con su trabajo. La máquina se ralentizará, pero en la mayoría de los casos aún se podrá utilizar para finalizar la tarea asignada. Los desarrolladores de software libre han hecho grandes avances para reducir y eliminar los errores del programa, por lo que antes de cambiar los parámetros del kernel, considere actualizar primero a una versión más nueva de su aplicación y bibliotecas relacionadas.

Si ejecuta numerosas tareas, las tareas inactivas se cambiarán al disco, haciendo un mejor uso de la memoria con sus tareas activas. La edición de video y otras aplicaciones que consumen mucha memoria a menudo tienen cantidades recomendadas de memoria y espacio en disco. Si tiene una máquina más antigua que no puede tener una actualización de memoria, hacer más intercambio disponible podría ser una buena solución temporal para usted (consulte [6] sobre cómo obtener más información al respecto).

El intercambio puede ocurrir en una partición separada o en un archivo de intercambio. La partición es más rápida y favorecida por muchas aplicaciones de bases de datos. El enfoque de archivos es más flexible (consulte el paquete dphys-swapfile en Debian GNU / Linux [7]). Tener más de un dispositivo físico para intercambiar permite que el kernel de Linux elija el dispositivo que está disponible más rápidamente (menor latencia).

vm.perversidad

El valor predeterminado de vm.el intercambio es 60 y representa el porcentaje de memoria libre antes de activar el intercambio. Cuanto menor sea el valor, menos intercambio se utilizará y más páginas de memoria se mantendrán en la memoria física.

El valor de 60 es un compromiso que funciona bien para los sistemas de escritorio modernos. Un valor menor es una opción recomendada para un sistema de servidor, en su lugar. Como señala el manual Red Hat Performance Tuning [8], se recomienda un valor de intercambio menor para las cargas de trabajo de la base de datos. Por ejemplo, para las bases de datos de Oracle, Red Hat recomienda un valor de intercambio de 10. Por el contrario, para las bases de datos MariaDB, se recomienda establecer el intercambio en un valor de 1 [9].

Cambiar el valor influye directamente en el rendimiento del sistema Linux. Estos valores se definen:

* 0: el intercambio está deshabilitado
* 1: cantidad mínima de intercambio sin deshabilitarlo por completo
* 10: valor recomendado para mejorar el rendimiento cuando existe suficiente memoria en un sistema
* 100: intercambio agresivo

Como se muestra arriba, el comando cat ayuda a leer el valor. Además, el comando sysctl le da el mismo resultado:

# sysctl vm.perversidad
vm.intercambio = 60
#

Tenga en cuenta que el comando sysctl solo está disponible para un usuario administrativo. Para establecer el valor, establezca temporalmente el valor en el sistema de archivos / proc de la siguiente manera:

# echo 10> / proc / sys / vm / swappiness

Como alternativa, puede utilizar el comando sysctl de la siguiente manera:

# sysctl -w vm.intercambio = 10

Para establecer el valor de forma permanente, abra el archivo / etc / sysctl.conf como usuario administrativo y agregue la siguiente línea:

vm.intercambio = 10

Conclusión

Cada vez más usuarios de Linux ejecutan máquinas virtuales. Cada uno tiene su propio kernel además del hipervisor que realmente controla el hardware. Las máquinas virtuales tienen discos virtuales creados para ellas, por lo que cambiar la configuración dentro de la máquina virtual tendrá resultados indeterminados. Experimente primero cambiando los valores del kernel del hipervisor, ya que en realidad controla el hardware de su máquina.

Para máquinas más antiguas que ya no se pueden actualizar (ya tienen la memoria máxima admitida), puede considerar colocar un pequeño disco de estado sólido en la máquina para usarlo como un dispositivo de intercambio adicional. Obviamente, esto se convertirá en un consumible ya que las celdas de memoria fallan debido a muchas escrituras, pero puede extender la vida útil de una máquina por un año o más por un costo muy bajo. La latencia más baja y las lecturas rápidas darán un rendimiento mucho mejor que cambiar a un disco normal, dando resultados intermedios a la RAM. Esto debería permitirle usar vm algo más bajo.valores de intercambio para un rendimiento óptimo. Tendrás que experimentar. Los dispositivos SSD están cambiando rápidamente.

Si tiene más de un dispositivo de intercambio, considere convertirlo en un dispositivo RAID para distribuir datos entre los dispositivos disponibles.

Puede realizar cambios en el intercambio sin reiniciar la máquina, una gran ventaja sobre otros sistemas operativos.

Intente incluir solo los servicios que necesita para su negocio. Esto reducirá los requisitos de memoria, mejorará el rendimiento y hará que todo sea más simple.

Una nota final: agregará carga a sus dispositivos de intercambio. Querrás controlar las temperaturas de ellos. Un sistema sobrecalentado reducirá la frecuencia de su CPU y se ralentizará.

Agradecimientos

El autor desea agradecer especialmente a Gerold Rupprecht y Zoleka Hatitongwe por sus comentarios críticos y comentarios durante la preparación de este artículo.

Enlaces y referencias

* [1] Tutorial del kernel de Linux para principiantes, https: // linuxhint.com / linux-kernel-tutorial-principiantes /

* [2] Derek Molloy: Escribir un módulo de kernel de Linux - Parte 1: Introducción, http: // derekmolloy.ie / escribiendo-a-linux-kernel-module-part-1-Introduction /

* [3] Derek Molloy: Escribir un módulo de kernel de Linux - Parte 2: Un dispositivo de caracteres, http: // derekmolloy.es decir / escribiendo-un-módulo-del-núcleo-linux-parte-2-un-dispositivo-de-caracteres /

* [4] Derek Molloy: Escritura de un módulo de kernel de Linux - Parte 3: Botones y LED, http: // derekmolloy.ie / kernel-gpio-programacion-botones-y-leds /

* [5] Frank Hofmann: Comandos para administrar la memoria de Linux, https: // linuxhint.com / comandos-para-administrar-linux-memory /

* [6] Frank Hofmann: Gestión de la memoria del kernel de Linux: espacio de intercambio, https: // linuxhint.com / linux-memory-management-swap-space /

* [7] paquete dphys-swapfile para Debian GNU / Linux, paquetes https: //.debian.org / stretch / dphys-swapfile

* [8] Guía de ajuste de rendimiento de Red Hat, https: // acceso.sombrero rojo.com / documentation / en-us / red_hat_enterprise_linux / 6 / html / performance_tuning_guide / s-memory-tunables

* [9] Configuración de MariaDB, https: // mariadb.com / kb / en / library / configuring-swappiness /

WinMouse le permite personalizar y mejorar el movimiento del puntero del mouse en una PC con Windows
Si desea mejorar las funciones predeterminadas del puntero del mouse, use el software gratuito WinMouse. Agrega más funciones para ayudarlo a aprovech...
El botón de clic izquierdo del mouse no funciona en Windows 10
Si está utilizando un mouse dedicado con su computadora portátil o computadora de escritorio, pero el el botón izquierdo del mouse no funciona en Wind...
El cursor salta o se mueve aleatoriamente mientras escribe en Windows 10
Si descubre que el cursor del mouse salta o se mueve por sí solo, automáticamente, de manera aleatoria mientras escribe en una computadora portátil o ...