Pourquoi le cache dans ma mémoire est-il toujours plein?

13

J'ai 6 Go de RAM, un processeur i5 2.4GHZ exécutant Ubuntu 11.10. J'ai partitionné mon disque dur pour avoir un échange de 8 Go.

Lors du streaming en ligne ou de l'ouverture de plusieurs onglets dans Chromium, j'ai bientôt 4 Go de mémoire dans le cache. Et je pense que cela ralentit mon ordinateur portable. Lors du streaming d'une vidéo, après quelques minutes, elle ralentit vraiment et trébuche / se branle.

Quel pourrait être le problème? Comment puis-je résoudre ça?

PS: au départ, j'avais 4 Go et récemment mis à niveau vers 6 Go, mais je n'ai pas connu de changement significatif.

PPS: free -gdans le terminal imprime ceci:

               total       used       free     shared    buffers     cached
Mem:             5          2          3          0          0          0
-/+ buffers/cache:          1          4
Swap:            8          0          8
Tobias
la source
Que voulez-vous dire par "RAM Cache" et comment pouvez-vous dire qu'il est plein?
Sergey
Pouvez-vous s'il vous plaît exécuter free -g(dans le terminal) lorsque vous rencontrez le problème et inclure la sortie de la commande dans votre question.
Portablejim
Sur mon panneau supérieur, j'ai une applet qui indique grafiquement l'utilisation de la RAM et du CPU. Lorsque je clique dessus, il me dit que: "Mem: 2 Go de cache 4 Go"
Tobias
1
free -gdit que vous avez 3 Go de RAM gratuite. La mémoire n'est pas votre problème!
Ams
Ok merci beaucoup d'avoir clarifié ça, mais peut-être parce qu'à ce moment-là je ne diffusais pas en ligne? Je viens de faire couler du chrome.
Tobias

Réponses:

13

La mise en cache des données est que la RAM est censée rendre les choses plus rapides et non plus lentes. Si vous déversant dans l' espace d'échange cependant, qui va frapper les performances. Vous pouvez facilement savoir si vous utilisez un swap en exécutant System Monitor. Si le graphique de l'espace d'échange n'augmente pas au moment où le problème commence, le problème n'est pas lié à la mémoire.

Certes, lorsque vous diffusez une vidéo, elle sera mise en cache en mémoire, mais il faut beaucoup de vidéo pour remplir 6 Go! Je m'attends à ce que cela prenne plus que quelques minutes pour télécharger autant de données, et bien plus encore à causer un problème!

Êtes-vous sûr que quelque chose d'autre n'est pas le problème? Dis, refroidissant peut-être? De nombreux ordinateurs portables ont des processeurs dépassés par rapport au système de refroidissement. C'est bon - cela donne des performances de pointe élevées, bon pour le trafic en rafale, tout en gardant le volume bas - mais il ne peut pas maintenir les performances longtemps avant d'être obligé de reculer la fréquence d'horloge ou de fondre. La vidéo peut être assez gourmande en processeur, donc vous ne savez jamais?

Quoi qu'il en soit, vous devriez pouvoir voir à partir de l'utilisation de la mémoire si elle est permutée ou non. Si c'est le cas, alors c'est un problème logiciel, et ceux-ci peuvent être corrigés. :)

ams
la source
J'utilise seulement 1,8% de SWAP. Le refroidissement n'est pas le problème car j'ai un tampon de refroidissement avec deux ventilateurs. Je sais que la vidéo est gourmande en processeur, mais i5 quad core 2,4 GHz et 6 Go de RAM devrait définitivement suffire pour un streaming fluide.
Tobias
1,8% du swap me suggère que votre problème n'est pas que vous n'avez plus de RAM. Je suis d'accord, tant que votre processeur n'a pas été limité, il devrait pouvoir faire le travail.
Ams
Ok que c'est peut-être le navigateur lui-même?
Tobias
Merci pour vos réponses. J'essaierai d'utiliser un autre navigateur et vous informerai si le problème persiste. Merci encore, vous avez été très serviable et gentil, j'apprécie vraiment!
Tobias
11

J'ai le même problème, il semble que le cache ne soit jamais libéré ... Un exemple était quand j'ai vérifié un référentiel et que je me retrouve avec un cache de 4 Go

Exemple:

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

Ce que j'ai fait était d'exécuter le code ci-dessous (les commentaires sont juste pour que vous sachiez ce qui se passe), vous pouvez créer un script pour pouvoir l'exécuter quand vous en avez besoin:

# 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

Après avoir exécuté le code ci-dessus:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          7949       2820       5129          0          2        407
-/+ buffers/cache:       2409       5539
Swap:         7627          2       7625
Carlo
la source
4
Ce n'est pas un problème, c'est ainsi que fonctionne le cache de pages. Il gardera les choses en cache aussi longtemps que possible, mais libérera automatiquement les éléments lorsque la pression de la mémoire provenant d'autres applications augmentera. Il n'est pas nécessaire de l'effacer manuellement.
Césium
5
C'est peut-être le cas, mais dans ce cas, l'algorithme n'est pas si bon. Pourquoi aurais-je plus de 4 Go de cache et commencerais-je à utiliser le swap?
Carlo
Sur le sujet, j'aime cet article: lien
Carlo
1
Dans mon cas actuel, je vérifie un énorme référentiel et tous les fichiers sont mis en cache jusqu'à ce qu'il remplisse la mémoire, une fois qu'il commence à s'échanger au lieu de libérer le cache ...
Carlo
J'avais l'habitude de m'intéresser au développement du noyau. Je suis sûr que c'est toujours "par conception". Si le noyau pense qu'une partie d'un fichier est plus susceptible d'être à nouveau accessible bientôt que certaines données anonymes, il échangerait les données anon et conserverait le cache de la page. Que ce soit prendre la bonne décision est une question différente, bien sûr :)
Steve Dee
0

Ma suggestion serait d'exécuter n'importe quel explorateur de processus (System Monitor par exemple) et de vérifier quel processus consomme autant de mémoire. postez-le ici et nous verrons si vous pouvez le désactiver.

ps. ok, je comprends maintenant. Je parie que son «conteneur de plugins» grandit avec le temps en raison de la façon dont il utilise la mémoire. Je suppose que c'est parce que c'est un port du système Gill Bates;). Le tuer n'aidera pas (en le tuant, vous planterez toutes les animations sur chaque page, principalement des publicités mais aussi des vidéos Youtube). De plus, Chromium lui-même aime gonfler avec le temps, donc la seule façon de le gérer serait probablement de le redémarrer de temps en temps. Voyez si cela aide ...

Adam Kroczyk
la source
En effet, lorsque je redémarre le navigateur, le streaming se déroule sans problème, mais juste pendant 10 minutes. Ensuite, je dois redémarrer le navigateur.
Tobias
Les processus utilisés: Chrome 250MB Chrome 214 MB Chrome 150Mb, compiz 119 MB, zeitgeist-daemon 111 MB, chrome 70Mb, exe 24% de CPU et 60MB, Rhythmbox 50MB, ubuntuone-syndaemon 26MB etc ..
Tobias
J'ai peur que votre problème ne soit causé par le navigateur lui-même. Envisagez de passer à Firefox ou à l'un de vos choix, l'opinion des utilisateurs sur le Web indique que Chromium consomme environ 3 fois plus de mémoire que tout autre navigateur de première ligne. Essaie. Installez, ouvrez le même nombre d'onglets et comparez ...
Adam Kroczyk
Je vais faire ça. Merci beaucoup pour la suggestion. tout le meilleur
Tobias