Swap [Era: Re: Problema con Ubuntu]

Rodrigo Fuentealba the.code.keeper en gmail.com
Lun Mayo 26 01:52:00 CLT 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Germán Póo-Caamaño escribió:
> On Mon, 2008-05-26 at 00:37 +0030, Marco González Luengo wrote:
>> En este caso, entonces, sería sensato tener una swap=(1.05 * ram), y
>> ajustar el swapiness a 0. Así sólo ocupamos al hacer suspensión a
>> disco, y el resto del tiempo estaría libre.
>>
>> Por lo que sé, a todo esto, es que hay suspensión a ram, suspensión a
>> swap (uswsusp) e hibernación. Las suspensiones mantienen la energía, e
>> hibernación mata el tarro, aunque guarda la información en un lugar
>> distinto.
> 
> Corrección, sólo hay dos: Suspensión-a-RAM y Suspensión-a-disco. 

Asi es.

> Este
> último es conocido también es conocido hiberación y Linux utiliza el
> área de swap para vaciar el contenido de la RAM en disco.  No confundir
> como sistemas distintos.
> 
> No veo como suspender (a RAM o disco) puede matar (¿destruir?) un
> equipo. 

No, German, no se refiere a destruir el equipo, sino a cortar la
energia. Para destruir el equipo, necesitas como minimo un hacha o un
combo ;-)

> En el caso de suspender a RAM requieres que el equipo tenga
> energía, pero el consumo es poco. Pero ¿matar un equipo?

Suspend to RAM requiere que algo de corriente continue pasando por el
equipo, por las razones que habia planteado anteriormente: las memorias
dinamicas requieren mantenerse energizadas mediante un pulso electrico
para continuar guardando informacion en microcapacitores; Si la energia
se corta, la RAM pierde su contenido por desenergizacion.

Esto no ocurria en las memorias estaticas, de acuerdo a lo que lei hace
un tiempo, cuando recien comenzaron a salir los equipos con suspension
(Pentium MMX?)... La memoria estatica (flip-flop) no se borraba por
quedarse sin energia, sino porque el ordenador le instruia llenarse de
ceros (por ejemplo), y era esto lo que las hacia mas rapidas, pero mas
caras.

Suspend to Disk no requiere de aquello, dado que la informacion de la
RAM se guarda en un medio que no es volatil (el disco duro). Por ende,
la maquina queda apagada (y de hecho, hasta he cambiado unidades de
CD-ROM en este estado).

> Desconozco una fórmula (si la hubiera) para determinar cuanto swap se
> requeriría para hibernar. En el peor de los casos, la misma cantidad que
> RAM, pero aún así, intuyo que es innecesario tanto espacio.

No creo que haya una formula, ya que el espacio de RAM es variable. De
repente puedes requerir suspender el disco corriendo bash nada mas, sin
X.org ni nada; y en otro caso puedes estar corriendo X.org con
OpenOffice.org y VirtualBox OSE; los niveles de consumo de RAM dependen
de la cantidad de procesos que ejecutas.

> s2disk puede comprimir el contenido de la RAM antes de guardarlo en
> disco.  Así, el proceso de recuperación es más rápido.  E incluso,
> puede encriptarlo.  Pero no es el único método, AFAIK, para hibernar.

En Mandriva me llama la atencion algo llamado Tux On Ice, pero no he
indagado mayormente al respecto.

> Si estaba en uso el área de swap antes de hibernar, se descarta.

¿Eso no provoca mal funcionamiento en los programas que estaban ahi?

> Lo mismo que los "datos" que se pueden leer del disco (programas,
> archivos de datos, etc.)

De aqui en adelante no entendi nada, ¿me lo puedes explicar mas clarito?
Porque hasta donde alcanza mi _zapallo_, si estoy leyendo un archivo
gigante y se me ocurre suspender...

Si es como creo que dices tu, tengo que volver a cargar todos los
programas uno a uno en memoria, y luego volver el puntero al lugar anterior.

No me parece una buena forma, si me puedo ahorrar el trabajo y puedo
hacer un raw copy desde el disco (sea de donde sea que venga esa raw
copy) a la RAM.

> Entre leer desde el swap o de la partición
> donde está el programa que debiera estar residente, no hay diferencia.

No veo como no puede haber diferencia; tienes info al respecto?

> Existe un proyecto para unificar ambos procesos (suspender a RAM y a
> disco) en espacio de usuario: uswsusp http://suspend.sourceforge.net/ 
> 
> Saludos,
> 

Saludos y Gracias,

- --
Rodrigo Fuentealba
Concepción, Región del Bío-Bío, Chile
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkg6T/8ACgkQoqmdUrqLMt2kUQCfX+C8q/WvP/UFNA2yr0Heo65S
Pd8AoKiEbrQaS8XNpD9bbZ2yUdn6m4sL
=ST77
-----END PGP SIGNATURE-----


Más información sobre la lista de distribución Linux