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.

Rxvt-unicode, SSH y “Terminal type unknown”

Desde hace años vengo usando rxvt-unicode como terminal. Podría mentir y decir que es por cuestiones técnicas como el soporte de caracteres unicode, pero la verdad es que simplemente me gusta el aspecto que tiene al pasarle los parámetros adecuados.

El problema viene al hacer SSH a máquinas remotas, ya que en el 100% de los casos rxvt-unicode no está definido como tipo de terminal, lo cual hace que por ejemplo al usar vi o man la salida tenga un formato extraño.

La solución obvia es, cada vez que conectamos por SSH, hacer un export TERM=vt100. Perdemos el soporte de caracteres unicode, pero por lo demás funciona perfectamente.

Dado que es un rollo tener que hacer eso en cada conexión podemos optar por una solución más permanente.

Sigue leyendo

Enrutando tu tráfico a través de SSH

En días como estos en los que los más afortunados aprovechan sus vacaciones desplazándose a sus lugares de ocio favoritos, muchos seguramente llevarán su portátil para mantenerse al día con sus servicios de interés (correo, facebook, google+, etc…).

Estando fuera de casa es bastante probable que en algún momento usemos puntos de acceso públicos de alguna cafetería o restaurante (o que tomemos prestada la conexión de un vecino), y como hay mucho cabrón suelto es posible que alguien esté ahí esperando para interceptar nuestra conexión, robarnos nuestros datos y hacer maldades con ellos.

Hay muchas soluciones a este problema, pero una de las más sencillas (quitando la obvia: VPN) es montar un servidor SSH en casa y redirigir todo nuestro tráfico (incluido el DNS) encriptado a través de esa conexión.

Sigue leyendo

Unificando tus calendarios

No soy muy de usar calendarios o listas TO-DO para apuntar mis cosas si no que prefiero fiarme de mi cabeza (así me va) pero sí que hay veces que necesito consultarlos para enterarme de eventos planeados por otras personas.

Como soy por naturaleza perezoso y no me apetece andar mirando varios calendarios diferentes para temas del trabajo o eventos de Facebook (al que por otra parte apenas me conecto, así que no me entero de la mitad de las cosas) he decidido unificar todo esto y tenerlo juntito en un sitio que sí suelo tener más o menos a la vista: el escritorio del PC.

Sigue leyendo