Índice:
- Limpieza del systemlog («action 17»)
- Optimiazación de la MicroSD
- Mover SWAP a disco externo
- Apagar salida HDMI
Entradas reiterativas del rsyslog en el /var/log/systemlog
Para evitar que el equipo este escribiendo todo tiempo en la MicroSD empecé a buscar que elementos estaban creando logs sin que me aporten ninguna información. El primer candidato el rsyslog
Las entradas en cuestión eran las siguientes, prácticamente cada 2 segundos.
May 4 12:05:54 rbpi001 rsyslogd-2007: action 'action 17' suspended, next retry is Thu May 4 12:07:24 2017 [try http://www.rsyslog.com/e/2007 ] May 4 12:09:01 rbpi001 rsyslogd-2007: action 'action 17' suspended, next retry is Thu May 4 12:10:31 2017 [try http://www.rsyslog.com/e/2007 ]
Para evitar esto, se debe editar el archivo /etc/rsyslog.conf
sudo vi /etc/rsyslog.conf
Y comentar las últimas 4 líneas para que quede de la siguiente mantera.
#daemon.*;mail.*;\ # news.err;\ # *.=debug;*.=info;\ # *.=notice;*.=warn |/dev/xconsole
Para que se apliquen los cambios hay que reiniciar el servicio
sudo service rsyslog restart
FSTRIM para liberar espacio en la MicroSD y mejorar su utilización
Después de unos días de uso note que los backups de mi MicroSD estaban creciendo mucho en tamaño en tamaño. Leyendo descubrí que las MicroSD no tienen una instrucción para ir liberando el espacio como si los tienen los discos SSD modernos. También descubrí que como este espacio no se ve como liberado para lógica de la SD con el tiempo los sectores empiezan a tener un uso asimétrico reduciendo la expectativa de vida de la memoria.
El comando es el fstrim y para hacer que se ejecute en forma rutinaria se crea un archivo de configuración para incorporarlo al cron.
sudo vi /etc/cron.d/fstrim
Con el siguiente contenido
#m h d m wd usr cmd 00 05 */2 * * root /sbin/fstrim -v /
Esta instrucción ejecuta el comando fstrim a las 5 de la mañana cada 2 días.
Mover swap a un disco externo (lo sacamos de la microsd).
Lo que hice fue mover el swap del sistema al disco externo para que no se la pase escribiendo en la microsd. También aumente la capacidad de la misma de 100MB a 2GB.
Para ejecutar esto edite el archivo /etc/dphys-swapfile con el comando
sudo vi /etc/dphys-swapfile
Y edite las líneas en negrita.
# /etc/dphys-swapfile - user settings for dphys-swapfile package # author Neil Franklin, last modification 2010.05.05 # copyright ETH Zuerich Physics Departement # use under either modified/non-advertising BSD or GPL license # this file is sourced with . so full normal sh syntax applies # the default settings are added as commented out CONF_*=* lines # where we want the swapfile to be, this is the default #CONF_SWAPFILE=/var/swap CONF_SWAPFILE=/mnt/storage/var/swap # set size to absolute value, leaving empty (default) then uses computed value # you most likely don't want this, unless you have an special disk situation #CONF_SWAPSIZE=100 CONF_SWAPSIZE=2048 # set size to computed value, this times RAM size, dynamically adapts, # guarantees that there is enough swap without wasting disk space on excess #CONF_SWAPFACTOR=2 # restrict size (computed and absolute!) to maximally this limit # can be set to empty for no limit, but beware of filled partitions! # this is/was a (outdated?) 32bit kernel limit (in MBytes), do not overrun it # but is also sensible on 64bit to prevent filling /var or even / partition #CONF_MAXSWAP=2048
Finalizada la edición se deben ejecutar la siguientes lineas de comandos
sudo dphys-swapfile swapoff sudo dphys-swapfile setup sudo dphys-swapfile swapon
Eso desactiva la swap en uso, crea la nueva swap y activa el nuevo archivo de swap.
Para verificar que la nueva swap quedó disponible se puede ejecutar el comando
free
total used free shared buffers cached Mem: 945520 867056 78464 6644 61312 725244 -/+ buffers/cache: 80500 865020 Swap: 2097148 0 2097148
Donde la línea en negrita nos muestra la cantidad de swap disponible.
Apagar salida HDMI (optimización de energía).
Optimización de consumo de energía
Para apagar la salida HDMI se debe ejecutar el comando
/usr/bin/tvservice -o
Para volverla a activar, se puede realizar con el comando
/usr/bin/tvservice -p
Para ejecutar el apagado cada vez que se prende el equipo se debe agregar la siguiente linea en el archivo /etc/rc.local antes de la última línea («exit 0»).
$(sleep 600 && /usr/bin/tvservice -o) &
Esta acción se ejecuta con el comando vi
sudo vi /etc/rc.local
Como medida de seguridad ejecuto el comando después de una espera de 10 minutos (como para tener la consola funcionando si tengo que ejecutar alguna acción antes de apagar la salida hdmi).