Agilizando la swap con zswap

En un artículo anterior veíamos cómo utilizar zram para crear un espacio de swap comprimido en memoria y así agilizar el intercambio y evitar problemas de ralentización del equipo cuando el I/O a swap fuese alto.

Vamos a ver en esta ocasión cómo conseguir el mismo objetivo con otro método diferente: zswap.

A groso modo tanto zram como zswap harán que la paginación se haga contra la memoria física aplicando compresión a los datos, pero mientras que con zram estamos creado un dispositivo de bloques de un tamaño concreto y añadiéndolo como partición swap, zswap tiene por detrás un mecanismo algo más complejo.

Sigue leyendo

Agilizando la swap con zram

Prácticamente cualquier equipo más o menos moderno suele tener suficiente RAM para realizar cualquier tarea no excesivamente intensiva sin recurrir a swap en exceso… aunque luego resulta que te encuentras con aplicaciones como Chrome donde un par de perfiles abiertos y unas cuantas pestañas resultan al cabo de un tiempo en suficiente I/O para que mismamente cambiar a otra aplicación tarde algunos segundos.

Para evitar esto lo más lógico sería evitar ese tipo de aplicaciones, pero si por la razón que sea no se puede, no se quiere, o si estás usando un equipo con RAM bastante limitada, se puede recurrir a métodos como zram o zswap.

Hay algunas diferencias entre ambos métodos, aunque a efectos prácticos el resultado final que veremos será más o menos similar.

En este artículo vamos a ver cómo hacerlo con zram.

Sigue leyendo

Solucionando ventilador al 100% al volver de suspender el sistema

recoveryLlevo teniendo este problema con Ubuntu en un portátil desde… bueno, desde siempre, que yo recuerde, pero como normalmente suelo apagarlo no me había preocupado de buscar cómo arreglarlo.

Hoy me picó la curiosidad y me puse a investigar. Resulta que al parecer el problema viene de que el SO asume que al volver del estado suspendido los ventiladores estarán en el estado en que estaban antes de suspender, y esto dependiendo del hardware no tiene por qué ser así.

Parece que en algunos sistemas (no se cuales, pero en el mío definitivamente debe ser el caso) al volver de la suspensión los ventiladores se ponen automáticamente al 100%, y como el SO no los restaura a ningún estado se quedan ahí bufando sin razón.

De hecho si cuando están ahí a tope lanzas un proceso intensivo que normalmente aumentaría la frecuencia de los ventiladores, al terminar dicho proceso los ventiladores se ralentizan de vuelta a un estado normal, así que definitivamente parece confirmarse la hipótesis del estado inicial incorrecto.

La primera solución que encontré hablaba de crear un script en /etc/pm/sleep.d que pusiese a cero los ventiladores. Supuestamente los scripts en esta ruta se ejecutan al volver desde el estado suspendido, así que debería funcionar automáticamente.

Al script le llamaremos por ejemplo 10_fancontrol, y sería:


#!/bin/sh
case "$1" in
        resume|thaw)
                for i in $(seq 0 15) ; 
                do 
                        echo "0" > /sys/devices/virtual/thermal/cooling_device${i}/cur_state
                done
;;
esac

En la ruta /sys/devices/virtual/thermal/ hay una serie de directorios, comenzando por cooling_device0 y llegando hasta cooling_device10 o más, dependiendo del hardware (en mi portátil va hasta el 15).

Si haces un cat del archivo cur_state dentro de cada uno de esos directorios verás que hay o bien un 0 o un 1, correspondiendo el 1 al estado en que el ventilador está activo, así que lo que hacemos es poner todos a cero.

El problema: resulta que ahora con systemd esto ya no funciona, ya que no se ejecutan automáticamente los scripts de esa ruta.

La solución: crear un servicio de systemd.

Sigue leyendo

Los juegos en Linux pueden tener un futuro, después de todo

Ya desde hace tiempo desde Phoronix se venía anunciando que Valve planeaba desarrollar una versión de Steam para Linux. Dada la vaguedad de las respuestas sobre el tema que llegaban desde Valve, más de una vez se tachó de rumor infundado.

En cualquier caso, sea que en Phoronix sabían algo que el resto ignoraba o sea que acertaron de pura suerte, Gabe Newell finalmente acabó confirmándolo: Valve va a publicar ports oficiales de Steam y del Source Engine para Linux.

Sigue leyendo

Instalando y optimizando Minecraft en Ubuntu

Quién iba a pensar que se podrían ofrecer tantas posibilidades en un juego con la apariencia de un clásico de 8 bits.

Llevaba tiempo oyendo hablar del Minecraft pero nunca me había llamado la atención, a pesar de todos los vídeos que hay por ahí mostrando las posibilidades a la hora de hacer construcciones. A fin de cuentas LittleBigPlanet, por ejemplo, también permite crear mecanismos complejos y a pesar de ello el juego me aburrió casi instantáneamente.

Hace unos días me decidí a probarlo y lo cierto es que estoy enganchado, sobre todo por su modo online cooperativo.

La instalación en Linux de todas formas puede resultar algo complicada, así que vamos a ver los pasos necesarios para poder empezar a construir cosas.

Sigue leyendo

Gimp 2.8 estable, ya disponible

Se han tomado su tiempo (unos tres años) pero finalmente ha sido publicada esta nueva versión estable del programa de manipulación de imágenes Gimp.

En la versión 2.8 tenemos disponibles un montón de nuevas características, empezando por la tan requerida posibilidad de usar la aplicación en una única ventana (podemos activar y desactivar esta opción desde el menú Ventanas de Gimp), así como edición de texto “on-canvas” o múltiples columnas en las ventanas de herramientas.

Sigue leyendo

¿Cómo se desarrolla Linux?

Linux, ese gran desconocido: detrás del estigma de sistema operativo minoritario con una cuota de mercado por debajo del 5% en los escritorios de usuarios (que echando cuentas sobre la estimación hecha por Gartner de 1 billón de ordenadores en uso en 2008 tampoco es una cifra desdeñable) se esconde un sistema que está corriendo inadvertidamente en muchos de los aparatos que seguramente tienes en casa (routers, televisores, teléfonos, electrodomésticos varios…).

Además potencia gran cantidad de servicios de internet que usas a diario como Google, Facebook o Twitter (sin contar una gran parte de los servidores web que alojan las páginas que visitas) así como más del 90% de los supercomputadores.

¿Cómo y quién desarrolla todo esto?

Una explicación sencilla en tres minutos a través de un vídeo de la Linux Foundation.