> Tengo entendido que la swap sirve para tener una memoria virtual, y que
> los procesos puedan tener un espacio de direcciones mayor (superior
> incluso a la memoria fisica). Entonces, �poner el triple de swap es
> mejor que poner el doble?

La raz�n de la swap no es aumentar el espacio de direcciones, pues eso es algo 
que depende del procesador (en el caso de los Intel IA-32, por ejemplo, al 
ser de 32 bits est�n limitados a 4 GB de memoria direccionable). La swap, 
como memoria virtual que es, sirve para poder tener ejecut�ndose 
simult�neamente m�s procesos de los que cabr�an en la memoria f�sica del 
ordenador. Los procesos que no se usan en un momento dado se pueden volcar 
total o parcialmente al soporte de la memoria de intercambio (swap), para 
dejar espacio libre para otras tareas. La administraci�n de memoria en los 
equipos actuales es m�s compleja de lo que parece, normalmente mediante una 
combinaci�n de segmentaci�n y paginaci�n.

Ten en cuenta que la memoria tambi�n se usa como cach� y como buffer. El cach� 
se usa cuando se leen archivos, y tras leerlos se mantienen en memoria. Si se 
necesita volver a utilizar esa informaci�n, no hace falta volver a buscarla 
en disco (que es una operaci�n incre�blemente lenta para la velocidad interna 
de un procesador) sino que puede usarse la informaci�n de esa cach� en la 
memoria f�sica, acelerando mucho el rendimiento.

Yo tengo 512 megas de RAM, y nunca se me ocupa entera (sin contar el cach� y 
los buffers, es decir, mirando la l�nea "+/- buffers/cache" del comando 
"free"). Tengo un n�cleo 2.6, y pongo la swappiness del kernel a 100, para 
que use cuando pueda la memoria de intercambio (esto se puede hacer con "echo 
100 > /proc/sys/vm/swappiness"). El sistema ahora mismo, tras unas 3 horas de 
uso, un par de juegos, un Mozilla con 20 tabs abiertas, un Kmail, el Knode, 
el XMMS y algunas aplicaciones chorras:

[EMAIL PROTECTED]:/etc/init.d$ free
             total       used       free     shared    buffers     cached
Mem:        516860     498944      17916          0      17060     217208
-/+ buffers/cache:     264676     252184
Swap:       497972        432     497540

Personalmente creo que le deber�a haber puesto 256 megas de swap, porque no 
creo que llegue a usar nunca m�s. Pero en mi caso yo no le pongo 1 giga (el 
doble de mi RAM) ni borracho. :-P

> Y si me quedo corto, �qu� problemas podr�a tener el sistema?

Si te pones a arrancar m�s y m�s procesos, estos necesitan memoria. Si alguna 
vez llega un proceso, pide memoria pero no hay disponible (y no se puede 
liberar memoria f�sica volcando otros procesos a la swap), en principio 
terminar�a con un "segmentation fault", indicando que no hay memoria para que 
se ejecute ese proceso.

Si me aburro a ver si hago un programita que haga infinitas copias de s� mismo 
hasta que pete la memoria, a ver qu� hace el sistema en ese caso. No ser�a 
nada dif�cil. Ummmmmmmmm...

Haplo

Responder a