2012-11-01 4 views
3

J'écris une application serveur haute performance (sous Linux) et j'essaie d'obtenir un chemin critique rapide. Je suis préoccupé par la pagination de la mémoire et la mémoire échangée sur le disque (latence de l'ordre des millisecondes) pendant mes opérations. Ma question est si j'ai beaucoup de mémoire sur le serveur (disons 16GB) et mon utilisation de la mémoire reste autour de 6-10GB et je sais qu'il n'y a pas d'autres processus sur la même boîte. Puis-je être sûr de ne pas avoir de pages manquantes après le démarrage et le démarrage de l'application?La pagination mémoire se produira-t-il s'il me reste beaucoup de RAM?

+1

Je ne connais pas Linux, mais je sais que Windows utilisera la mémoire RAM pour le cache disque, et pourra potentiellement sortir de la mémoire du programme pour cela. –

+0

jetez un coup d'oeil à cette publication de stackoverflow. http://stackoverflow.com/questions/578137/can-i-tell-linux-not-to-swap-out-a-particular-processes-memory Il décrit comment verrouiller un processus en mémoire. –

+1

Comme une idée. Vous pouvez écrire un programme de test simple qui alloue cette taille de mémoire à l'intérieur et "touche" régulièrement (utilise) cette mémoire. Exécutez ce programme de test pendant longtemps, puis exécutez la commande 'vmstat' et surveillez la colonne' po' (Pages renvoyées à l'espace de pagination). Vous pouvez donc vous faire une idée du nombre de "sorties de pages" qui se produisent sur votre boîte. –

Répondre

1

Ceci n'est pas garanti. Le comportement par défaut de Linux consiste parfois à utiliser la RAM pour mettre en cache des fichiers, ce qui peut améliorer les performances de certains flux de travail. Cela signifie que parfois les pages de mémoire seront permutées même si la mémoire n'est pas entièrement utilisée.

Vous pouvez utiliser mlock/mlockall pour verrouiller les pages du processus en mémoire. Voir man 2 mlock pour plus d'informations.

+0

Ah mais ma question originale va-t-elle encore s'échanger Linux même s'il me reste de la RAM? –

+0

A répondu à ma vérification –

Questions connexes