¿Por qué el caché en mi memoria siempre está lleno?

13

Tengo 6GB de RAM, procesador i5 2.4GHZ con Ubuntu 11.10. Particioné mi HD para tener 8GB de intercambio.

Al transmitir en línea o abrir varias pestañas en Chromium, pronto tengo 4 GB de memoria en el caché. Y creo que esto hace que mi computadora portátil sea lenta. Cuando se transmite un video, después de unos minutos, realmente se ralentiza y se tambalea.

¿Cuál podría ser el problema? ¿Como puedo resolver esto?

PD: inicialmente tenía 4 GB y recientemente actualicé a 6 GB, pero no experimenté un cambio significativo.

PPS: free -gen el terminal imprime esto:

               total       used       free     shared    buffers     cached
Mem:             5          2          3          0          0          0
-/+ buffers/cache:          1          4
Swap:            8          0          8
Tobias
fuente
¿Qué quiere decir con "RAM Cache" y cómo sabe que se está llenando?
Sergey
¿Puede ejecutar free -g(en la terminal) cuando experimente el problema e incluir el resultado del comando en su pregunta?
Portablejim
En mi panel superior tengo un applet que indica gráficamente el uso de RAM y CPU. Cuando hago clic en él, me dice que: "Mem: 2GB Cache 4GB"
Tobias
1
free -gdice que tienes 3 GB de RAM libre. ¡La memoria no es tu problema!
enms.
Ok, muchas gracias por aclarar eso, pero tal vez porque en ese momento no estaba transmitiendo en línea. Acabo de tener cromo corriendo.
Tobias

Respuestas:

13

Se supone que el almacenamiento en caché de datos RAM hace que las cosas sean más rápidas, no más lentas: recuperar cosas repetidamente del disco cuando tiene memoria no utilizada es una tontería. Sin embargo, si se está derramando en el espacio de intercambio, eso afectará el rendimiento. Puede saber fácilmente si está utilizando algún intercambio ejecutando System Monitor. Si el gráfico de espacio de intercambio no está subiendo en el momento en que comienza el problema, entonces el problema no está relacionado con la memoria.

Ciertamente, cuando transmite video, se almacenará en la memoria caché, ¡pero se necesitan muchos videos para llenar 6Gb! ¡Espero que tome más de unos minutos descargar esa cantidad de datos y mucho más para causar un problema!

¿Estás seguro de que algo más no es el problema? Oye, ¿quizás refrescarte? Muchas computadoras portátiles tienen procesadores con exceso de velocidad en comparación con el sistema de enfriamiento. Esto es bueno, brinda un alto rendimiento máximo, es bueno para el tráfico en ráfagas, mientras mantiene el volumen bajo, pero no puede mantener el rendimiento por mucho tiempo antes de que se vea obligado a reducir la velocidad del reloj o al derretirse. El video puede ser bastante intensivo en el procesamiento, ¿entonces nunca se sabe?

De todos modos, debería poder ver desde el uso de la memoria si se está intercambiando o no. Si es así, entonces es un problema de software, y se pueden solucionar. :)

ams
fuente
Estoy usando solo el 1,8% de SWAP. La refrigeración no es el problema, ya que tengo una almohadilla de refrigeración con dos ventiladores. Sé que el video requiere un procesador intensivo, pero i5 quad core de 2,4 GH y 6 GB de RAM definitivamente debería ser suficiente para una transmisión fluida.
Tobias
El 1.8% del intercambio me sugiere que su problema no es que se haya quedado sin RAM. Estoy de acuerdo, siempre y cuando su procesador no haya sido acelerado, debería ser capaz de hacer el trabajo.
enms.
Ok, ¿tal vez es el navegador en sí?
Tobias
Gracias por sus respuestas. Intentaré utilizar otro navegador y hacerle saber si el problema persiste. Gracias de nuevo, fueron muy serviciales y amables.
Tobias
11

Tengo el mismo problema, parece que el caché nunca se libera ... Un ejemplo fue cuando revisé un repositorio y terminé con un caché de 4GB

Ejemplo:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          7949       7425        523          0        112       4433
-/+ buffers/cache:       2879       5069
Swap:         7627          2       7625

Lo que hice fue ejecutar el siguiente código (los comentarios son solo para que sepas lo que está pasando), puedes crear un script para que puedas ejecutarlo cuando lo necesites:

# To free pagecache:
#         echo 1 > /proc/sys/vm/drop_caches
# To free dentries and inodes:
#         echo 2 > /proc/sys/vm/drop_caches
# To free pagecache, dentries and inodes:
#         echo 3 > /proc/sys/vm/drop_caches
sudo sync && sudo sysctl -w vm.drop_caches=3

Después de ejecutar el código anterior:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          7949       2820       5129          0          2        407
-/+ buffers/cache:       2409       5539
Swap:         7627          2       7625
Carlo
fuente
44
Esto no es un problema, así es como funciona la memoria caché de la página. Mantendrá las cosas en caché el mayor tiempo posible, pero liberará elementos automáticamente cuando aumente la presión de memoria de otras aplicaciones. Limpiarlo manualmente es innecesario.
Cesio
55
Puede ser así, pero en ese caso el algoritmo no es tan bueno. ¿Por qué tendría más de 4 GB de caché y comenzaría a usar el intercambio?
Carlo
Sobre el tema, me gusta este artículo: enlace
Carlo
1
En mi caso actual, estoy revisando un gran repositorio y todos los archivos se almacenan en caché hasta que llena la memoria, una vez allí comienza a intercambiarse en lugar de liberar caché ...
Carlo
Solía ​​interesarme por el desarrollo del kernel. Estoy bastante seguro de que esto todavía es "por diseño". Si el núcleo cree que es más probable que se acceda a parte de un archivo pronto que algunos datos anónimos, intercambiaría los datos anon y mantendría la memoria caché de la página. Si tomar la decisión correcta es una pregunta diferente, por supuesto :)
Steve Dee
0

Mi sugerencia sería ejecutar cualquier explorador de procesos (Monitor de sistema, por ejemplo) y verificar cuál es el proceso que consume tanta memoria. publíquelo aquí y veremos si puede desactivarlo.

PD. Ok, lo entiendo ahora. Apuesto a que su 'contenedor de complementos' crece con el tiempo debido a la forma en que usa la memoria. Supongo que es porque es un puerto del sistema Gill Bates;). Matarlo no ayudará (al matarlo bloqueará todas las animaciones en cada página, principalmente anuncios, pero también videos de Youtube). Además, al propio cromo le encanta hincharse con el tiempo, por lo que la única forma de lidiar con él sería probablemente reiniciarlo de vez en cuando. A ver si ayuda ...

Adam Kroczyk
fuente
De hecho, cuando reinicio el navegador, la transmisión vuelve a funcionar sin problemas, sin embargo, solo durante 10 minutos. Luego tengo que reiniciar el navegador nuevamente.
Tobias
Los procesos utilizados: Chromium 250MB Chromium 214 MB Chromium 150Mb, compiz 119 MB, zeitgeist-daemon 111 MB, chromium 70Mb, exe 24% de CPU y 60MB, Rhythmbox 50MB, ubuntuone-syndaemon 26MB, etc.
Tobias
Me temo que su problema puede ser causado por el navegador en sí. Considere cambiar a Firefox o cualquiera de su elección, la opinión de los usuarios en la web dice que Chromium consume aproximadamente 3 veces más memoria que cualquier otro navegador 'top line'. Darle una oportunidad. Instalar, abrir la misma cantidad de pestañas y comparar ...
Adam Kroczyk
Voy a hacer eso. Muchas gracias por la sugerencia. todo lo mejor
Tobias