Comment puis-je désactiver le cache de lecture anticipée?

6

J'exécute quelques serveurs Ubuntu sur lesquels une charge de sites Django s'exécute. Les sites et le httpd démarrent au démarrage et après (hormis SSHing pour le mettre à jour ou utiliser bzr pour mettre à jour les sites Web), rien d’autre n’est exécuté.

Actuellement, plus de la moitié du RAM est allouée en cache. Ce n’est pas un problème car le cache fait généralement de l’espace ou un petit peu se glisse dans le swap (encore une fois, cela ne me dérange pas vraiment) mais je ne vois pas la nécessité de le faire.

Existe-t-il un moyen rapide de désactiver le cache? Ceci est plus une expérience que toute autre chose, il serait donc utile de savoir comment le rallumer.

    
posée Oli 11.01.2011 - 18:05
la source

3 réponses

3

Cet article par Andrea Righi suggère qu'il n'y a pas d'option de configuration dans le noyau, mais qu'il dessine également une petite bibliothèque d'encapsulation glibc pour simplement définir l'indicateur O_DIRECT à chaque appel à open() .

Cela devrait avoir le même effet que de désactiver complètement le read-buffer .

De plus, le wiki OpenOffice a quelques méthodes pour faire froid- commencer le test . Ce n'est pas ce que vous voulez, mais je pensais l'inclure quand même.

    
réponse donnée Stefano Palazzo 12.01.2011 - 12:27
la source
3

depuis 2.6.16, vous pouvez lancer:

sync ; echo 3 | sudo tee /proc/sys/vm/drop_caches
    
réponse donnée Tedy 24.11.2011 - 17:19
la source
0

Non, et vous ne voulez pas. Le cache n'utilise que de la mémoire qui autrement serait inactive. Dès que cela sera nécessaire, il sera libéré et donné au processus qui le souhaite, vous pouvez donc considérer que la mémoire cache est libre, ce qui explique pourquoi la commande free imprime une ligne avec le cache pris en compte.

    
réponse donnée psusi 11.01.2011 - 19:10
la source

Lire d'autres questions sur les étiquettes