Problema Grave con los recursos del sistema

Buenas, tengo 1GB de ram y cuando inicio SuSE linux pues usa como 250 MB de ram, supongamos que inicio edonkey, pues el pc se pone atareado y el consumo de ram llega a 1020 MB de 1024 MB aproximadamente, es decir todo saturadisimo, entonces os direis que cierre el edonkey, yo lo cierro, pero aun asi el consumo de ram es el mismo.

Yo escribo "top" en la consola, y ningun programa esta consumiendo nada superior a un 3% del total de la ram, asi que como mucho en total un 15% consumido, asi que no se porque me deja con 5MB de ram libres si no hay nada que chupe.

Yo pense que seria cosa del edonkey, asi que probe aMule y casi igual, mientras esta descargando el consumo de ram es perfecto, y cuando termino de bajar un archivo de 600 MB empezo a crearlo en el HDD y el consumo se volvio a disparar y ya no bajo mas.

Reinicio, y me pongo a copiar ese archivo a otro lado o a descomprimirlo, y lo mismo !! el consumo se disparo, aqui dejo una prueba :

fox@dios:~> free -m
total used free shared buffers cached
Mem: 1012 1003 8 0 7 814
-/+ buffers/cache: 181 830
Swap: 494 0 494
fox@dios:~>

A ver si alguien tiene idea, porque me gusta linux y no quiero dejarlo por algo asi :(

Gracias.
¿te va más lento, o no para de tirar de disco duro?

Lo que vés con la orden free o con top es la RAM usada en total por el sistema, pero no quiere decir que no puedas usarla, porque son buffers y caché ;-)

La memoria real usada (y que no se puede volver a usar hasta que cierres el programa) es la usada menos los buffers.

Programas como Gkrellm te dirán la memoria usada directamente.

Hay cierta manía en no querer usar la RAM, cosa que no entiendo. Si tienes 1GB de RAM será para usarlo, no para que 900MB estén sin usar nunca ;)
No hay porque preocuparse. La RAM está para usarla. El hecho de que use 1020/1024 no quiere decir que la memoria disponible restante sean 4Mb. Linux usa hasta la saciedad los buffers todo lo que puede y más.
Me explico, si tiene que crear un archivo de 600Mb en el HD, lo que hace es copiarlo primero en la RAM para que esté disponible lo antes posible. Mientras, lo irá copiando al HD.
¿que hará cuando termine? ¿liberarlo? NO. Eso es ineficiente. Simplemente cuando se necesite más memoria y llegue a este trozo de la RAM verá que no esta utilizada y la usará.

El valor que marca la RAM que se esta usando es el marcado en negrita:
total used free shared buffers cached
Mem: 1012 1003 8 0 7 814
-/+ buffers/cache: [b]181[/b] 830
Swap: 494 0 494


Lo que no está nada mal para una Suse. Si quieres otro ejemplo, aquí esta mi sistema (KDE 3.2, konqueror, xmms, gkrellm2 (2), ethereal, psi, azureus, eterm (5))

gerard@naota sdl_net $ free -m
             total       used       free     shared    buffers     cached
Mem:           233        231          2          0          4        109
-/+ buffers/cache:        117        116
Swap:          170         89         80


Saludos y tranquilo que tienes un sistema sanisimo ;)
PD: Vaya, se me adelantaron (soy demasiado lento xD)
Churly, el SO va fluido, puedes ver que la particion de swap no esta siendo usada.

Tio no es mania de la ram, porque uso KDE y superkaramba y eso come algo, tnego 1 GB si, pero no es plan de usarla al 99% solo por descomprimir un rar y que ya no baje mas, siempre este al 99% de uso, eso no es normal Churly.

un saludo.
No se si me has leído bien el post, son todo cachés ;)

Descomprime ese rar una vez, y prueba a descomprimirlo más veces. La primera vez tirará de HD, las siguientes va volado, sólo tira de RAM. Lo mismo al ejecutar cosas.

No te preocupes, que si se necesita esa RAM para otra cosa, se sustituye, en eso consisten las cachés.

PD: Raharu lo ha explicado mucho mejor :)
Fox escribió:C
Tio no es mania de la ram, porque uso KDE y superkaramba y eso come algo, tnego 1 GB si, pero no es plan de usarla al 99% solo por descomprimir un rar y que ya no baje mas, siempre este al 99% de uso, eso no es normal Churly.


Que demonios, ¿porque no es plan? Eso es más rapido que liberar los buffers después de usarlos. Y si quieres saber la ram que tienes disponible, usa el valor que te he dicho. Si quieres saber la ram ocupada, tranquilo, que siempre será la maxima posible

Edito: Siempre un post por detras [mad]
Pues ahora si lo entiendo todo, aunque si me explicais bien lo de buffer y cache mejor :P

PD: Con razon iba el pc fluido siempre :S

GraciassssssssssS :P
buffers y cache yo CREO que son lo mismo, pero no me hagas caso.
Los buffers no son más que espacios de memoria donde se almacenan datos. Su utilidad más directa es la escritura en un medio masivo como un HD. Hoy en dia para escribir en un HD lo que se hace es pasar toda la información a memoria y después pasarlo de memoria al HD.
Se usa un bonito chip llamado DMA para hacer esta tarea de la forma más rapida.

Saludos
Edito (si, otra vez): Fijandome en la salida del free, parece ser que caches y buffers no son lo mismo, así que nos quedamos igual xD
Los buffers es algo básico para un sistema multitarea. Las operaciones más lentas son las de entrada/salida, y uno de los más lentos el disco duro (de hecho el gran lastre de los ordenadores).

Para optimizarlas se usan los buffers. Así, mientras el disco duro todavía está empezando a leer/escribir, la CPU puede continuar haciendo cosas, sin tener que esperar a que la operación termine. Aparte del hecho (como en el ejemplo que te puse) de que si vas a tener que leer una cosa varias veces, mejor leerlo de memoria rápida ;), y ésto se cumple casi siempre, si has leido un fichero del disco duro hay una alta probabilidad de que en poco tiempo lo vuelvas a hacer.

Es más, toda la arquitectura del PC se basa en ésto. El disco duro posee su propia caché para servir los datos más recientes al bus, la RAM hace en parte de caché del disco duro, e incluso la propia CPU tiene caché (varias) para los accesos a memoria. Según vas subiendo de nivel de caché, aumenta la velocidad de acceso, y también el precio, con lo que disminuye el tamaño :D


Desconozco como gestiona la memoria Linux a fondo, pero buffers y caché debe ser una forma de llamar de forma diferente a lo mismo :? Quizá cache para la cache de programas, y buffers para E/S (o viceversa)
os dejo una screen:

Imagen

parece que esta todo bien,no?
Si hombre, está perfectamente ;)

Mientras el sistema te vaya bien no tienes porque preocuparte por unos números.
10 respuestas