[Ubuntu-UY] ext4, bug de sync() en kernel 2.6.32, max_writeback_mb_bump, y mala performance
Haroldo Stenger
haroldo.stenger en gmail.com
Vie Oct 12 00:24:10 UTC 2012
hola
estoy peleando con un problema grave de performance con ext4.
cada cierto tiempo (variable, pero frecuente en el día varias veces), el
proceso jbd2/sdaN se come todo el I/O y demora minutos.
Un problema muy similar, sino el mismo, se reportó el año pasado en lkml, y
dio para varios comentarios, uno en particular con respecto a la
performance de dpkg, ya que llama a sync. Mi aplicación llama a sync y se
vé afectada.
Acá https://bugs.launchpad.net/ubuntu/+source/linux/+bug/624877/comments/16
que viene de acá
http://administratosphere.wordpress.com/2011/05/13/linux-kernel-sync-bug/
recomiendan hacer
echo 4 > /sys/fs/ext4/sda1/max_writeback_mb_bump
para cada sdaN del sistema, cosa que hice en dos máquinas, una un ubuntu
server :
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04.4 LTS
Release: 10.04
Codename: lucid
#uname -a
[...] 2.6.32-43-generic-pae #97-Ubuntu SMP [...]
otra con un debian squeeze
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 6.0.6 (squeeze)
Release: 6.0.6
Codename: squeeze
#uname -a
Linux 2.6.32-5-686 #1 SMP Sun Sep 23 09:49:36 UTC 2012 i686 GNU/Linux
Procedí a ejecutar la recomendación de arriba para cada partición y los
resultados fueron diferentes:
en el ubuntu la cosa no marchó muy bien, y las colgadas se repetían más o
menos igual que antes (el sistema es remoto, así que sólo cuento con el
testimonio de los usuarios, más lo que yo pueda ver con top, htop , iotop
etc.
Entonces en el ubuntu instalé apt-get install
linux-image-server-lts-backport-oneiric (Linux miserver
3.0.0-26-generic-pae #43~lucid1-Ubuntu SMP Wed Sep 26 16:20:52 UTC 2012
i686 GNU/Linux, yeliminé el arreglo anterior, dejando los valores por
defecto de 128 de /sys/fs/ext4/sda1/max_writeback_mb_bump
y la cosa empezó a trancar muchísimo menos. Hubo una trancada puntual de
mucho rato , con el jdb2 andando al mango en I/O, que intenté arreglarla
con ponerle de nuevo 4 en el /sys/fs/ext4/sda1/max_writeback_mb_bump y la
cosa empeoró ( con el kernel nuevo) , y lo volví a los valores por defecto
de 128, y sigo mejor que en la situación original pero con trancadas
puntuales de varios minutos cada tantas horas, que son menos peores que las
que venía habiendo que eran muy frecuentes con el kernel viejo, o con el 4
en max_writeback_mb_bump, pero no tan graves; en definitiva el problema
persiste.
En el Debian la cosa caminó mejor con el max_writeback_mb_bump en 4, pero
hay trancaditas puntuales de algunos segundos cada tanto (3 por hora
aprox), y además seme complicó la movida con un virtualbox con windows 2003
que venía bien, y después de el max_writeback_mb_bump a 4 se empezó a
portar más lento, aunque mi sistema mejoró notablemente con respecto a las
trancadas de medio minuto o un minuto cada media hora que venía teniendo.
EN debian squeez no sé cómo encontrar el correspondiente backport del
kernel, así que por ahora no lo toqué. (Estoy con un sources.list medio
pobretón que me quedó de hace un tiempo, debería meter uno con capacidad de
encontrar backports y otras actualizaciones., se aceptan sugerencias).
¿comentarios?
gracias miles
Haroldo
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://lists.ubuntu.com/archives/ubuntu-uy/attachments/20121011/30a63ea6/attachment.html>
Más información sobre la lista de distribución Ubuntu-uy