elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Temas
Páginas: [1]
1  Sistemas Operativos / GNU/Linux / [TIP] Boost de velocidad en linux (sched_autogrup) y como aplicarlo sin parchear en: 19 Noviembre 2010, 17:11 pm
Buenas gente, esta noticia ya salio hace unos días, y hace unos instantes estuve leyendo una forma de aplicar este boost de velocidad sin tener que esperar al parche en el kernel :)

¿De que se trata esto?

En los últimos días, se ha incluido en el Kernel Linux un pequeño parche de poco mas de 200 líneas que mejora de una forma muy sostenible el tiempo de respuesta de las aplicaciones de escritorio, ofreciendo una experiencia de usuario mucho mas suave y fluida. Esta modificación ha sido creada por Mike Galbraith, y está siendo revisada por Linus Torvalds. En palabras del propio Linus:

Tengo que decir que estoy (agradablemente) sorprendido por lo pequeño que este parche ha acabado siendo, y como no es ni intrusivo ni feo en ningún modo.
También estoy contento con lo que logra hacer con el rendimiento interactivo. Tengo que admitir que mi caso de prueba es realmente trivial (leer email en un navegador web, desplazarme con el scroll un poco, además de hacer un ‘make -j64′ en el núcleo al mismo tiempo), pero es un caso de prueba que es muy relevante para mí. Y la mejora es impresionante.
Es una mejora para cosas como el scroll, pero lo que he descubierto que es más interesante es cómo parece que hace que parezca que las páginas web se carguen mucho más rápido. Puede que eso no debiera ser sorprendente, pero siempre he asociado eso con el rendimiento de la red. Pero está claro que hay carga de CPU cuando cargamos una nueva página web y desde luego mucha más cuando cargamos más de 50 al mismo tiempo, algo que provocará que la CPU se quede sin recursos en el proceso de carga, y que probablemente también provoque que las peticiones HTTP no se procesen lo suficientemente rápido.
Así que creo que este es desde luego uno de esos parches con “mejoras reales”. Buen trabajo. La planificación en grupos se convierte de algo “útil para ciertas cargas específicas en el servidor” a “esta es una característica alucinante”.


Acá tienen al artículo original de Phoronix, con dos videos comparando la mejora: http://www.phoronix.com/scan.php?page=article&item=linux_2637_video&num=1

Como utilizarlo sin aplicar el parche

Existe un método para obtener los mismos resultados que obtendríamos con este parche, sin tocar nuestro kernel y paso a detallarlo:

Fuente: http://www.muylinux.com/2010/11/19/%C2%BFrecordais-el-milagroso-parche-de-las-200-lineas-de-codigo-podeis-lograr-lo-mismo-en-2-minutos-sin-parchear-el-kernel


Si nuestra distribución NO es Ubuntu

Añadir las siguientes líneas a ~/.bashrc

Código:
if [ "$PS1" ] ; then

mkdir -m 0700 /sys/fs/cgroup/cpu/user/$

echo $ > /sys/fs/cgroup/cpu/user/$/tasks

fi

Y luego ejecutar dos comandos como superusuario:

Código:
mount -t cgroup cgroup /sys/fs/cgroup/cpu -o cpu

mkdir -m 0777 /sys/fs/cgroup/cpu/user

Si utilizamos Ubuntu (en el artículo no aclara, pero supongo que sus derivadas también)

Hay que realizar un par de pasos mas, primero que nada, debemos añadir los siguientes comandos en nuestro fichero /etc/rc.local (abrirlo con sudo gedit /etc/rc.local), y justo encima de la línea “exit 0” añadir lo siguiente:

Código:
mkdir -p /dev/cgroup/cpu

mount -t cgroup cgroup /dev/cgroup/cpu -o cpu

mkdir -m 0777 /dev/cgroup/cpu/user

echo "1" > /dev/cgroup/cpu/user/notify_on_release

echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent

Y convertir el fichero en ejecutable:

Código:
sudo chmod +x /etc/rc.local

Ahora tendremos que añadir lo siguiente en nuestro ~/.bashrc file (para editarlo: gedit ~/.bashrc):

Código:
if [ "$PS1" ] ; then

mkdir -m 0700 /dev/cgroup/cpu/user/$$

echo $$ > /dev/cgroup/cpu/user/$/tasks

fi

Ahora ejecutamos este comando:

Código:
sudo gedit /usr/local/sbin/cgroup_clean

Y en el fichero que salga para editar añadimos lo siguiente:

Código:
#!/bin/sh

rmdir /dev/cgroup/cpu/$1

Ahora salvamos el fichero y lo convertimos en un ejecutable con el comando siguiente:

Código:
sudo chmod +x /usr/local/sbin/cgroup_clean

Y por último tendremos que reiniciar la PC, o bien ejecutar a mano el fichero /etc/rc.local. Para esto último:

Código:
sudo /etc/rc.local


DISCLAIMER  ;D: Aún no lo probé, asi que si algún valiente se anima, que nos cuente en este thread que tal salió  ;). En cuanto vuelva a casa lo pruebo a ver si es tan maravilloso como dicen.

Saludos!

2  Sistemas Operativos / GNU/Linux / [HOW-TO] Reinstalar Grub2 en: 13 Noviembre 2010, 16:32 pm
Buenas gente! Estuve viendo que este es un tema recurrente tanto acá como en el foro de Ubuntu, asi que me pareció bueno armar un HOW-TO. Tengan en cuenta que es para grub2, que es la nueva versión de grub, y es el gestor de arranque que viene por defecto en las últimas versiones de Ubuntu (entre otras distros).

Toda la info pertiente a grub2 (incluida la que esta en este how-to) la pueden ver acá: https://help.ubuntu.com/community/Grub2

¿Para que sirve esto?

Las situaciones mas comunes son:

.Instalamos Windows después de instalar nuestra distro, y ahora cuando arrancamos la PC, entra a Windows directamente
.Instalamos varios sistemas operativos, y no podemos ingresar a alguno, ya que no aparece en el menú de grub
.Nos pusimos a jugar con grub y lo liquidamos, y ahora cuando prendemos la maquina nos aparece una consola que dice grub>

Situaciones en las que no podemos utilizar este método:

.Instalamos Ubuntu utilizando WUBI (el instalador de Ubuntu dentro de Windows)

Primero que nada , necesitamos un LiveCD (de Ubuntu o cualquier otra distro que utilice grub2), y tenemos que realizar lo siguiente:

1. Bootear desde el liveCD

2. Abrir una terminal, y ver cual es la partición en donde se encuentra instalada nuestra distro con grub2, corriendo el siguiente comando:

Código:
fdisk -l

Ejemplo:

Código:
/dev/sda1 29 8369 66999082+ 83 Linux
/dev/sda2 * 8370 13995 45190845 7 HPFS/NTFS
/dev/sda3 13996 14593 4803435 5 Extended
/dev/sda5 13996 14593 4803403+ 82 Linux swap / Solaris


2. Montar la particion (para este ejemplo es /dev/sda1)

Código:
sudo mount /dev/sda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc

3. Reinstalas grub:

Código:
sudo grub-install --root-directory=/mnt/ /dev/sda

4. Reiniciamos y entramos a nuestro Linux (el que tiene grub2, y para el que realizamos los pasos anteriores) instalado en el disco (no entres al LiveCD)

5. Abrímos una consola y ejecutamos:

Código:
sudo update-grub


Con esto, ya tenemos grub2 instalado y correctamente configurado. Podemos modificar alguna opción mas (como el timer), editando el archivo /etc/default/grub (no se olviden de correr update-grub después de hacer esto).

Si aún tenemos algun SO que no aparece, necesitamos chequear el script 30_os-prober que se encuentra en /etc/grub.d/, pero esto es tema para otro HOW-TO ;).

Saludos y espero que sea util!

P.D: Por favor, si ven algun error o les parece que falta algo avisen asi esto queda de la mejor forma posible :)
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines