Existe-t-il un moyen (application) de contrôler la politique d'utilisation de RAM / swap au niveau de l'application.
J'ai des applications que j'utilise tout le temps et je veux qu'elles restent en RAM tout le temps et il y a aussi des applications que j'utilise assez rarement et elles pourraient être lancées pour permuter à la demande. Je sais que les fenêtres configurées par défaut devraient me donner les meilleures performances mais je veux vérifier si je peux en obtenir plus :).
J'utilise Windows 7.
windows-7
performance
swap
Darqer
la source
la source
Réponses:
Oui, il y a: demander au programme d'appeler la fonction VirtualLock :
Je pense que la fonction SetProcessWorkingSetSize pourrait également être utile.
Pour ceux qui pensent que je suis un hérétique pour avoir même suggéré que cela pourrait être utile:
Notez qu'il peut y avoir des raisons valables de verrouiller des pages en mémoire. Une raison valable pourrait être que l'utilisateur exécute un graveur de CD, et que le graveur de CD affiche constamment des pages et provoque ainsi une sous-exécution du tampon, créant un sous-verre. Dans cette situation, il serait valide de verrouiller les tampons de mémoire afin qu'ils ne soient pas paginés, même si cela signifie que le reste de l'ordinateur ralentit pour une analyse, car c'est encore mieux que de donner à l'utilisateur un sous-verre. Il peut également y avoir d'autres raisons valables - mon point est que, bien qu'il ne soit généralement pas recommandé de verrouiller les pages en mémoire, des situations valides existent toujours, et je ne pense pas que tuer l'idée aiderait l'OP ici.
Mise à jour: Jetez un oeil à Process Hacker l »
Reduce Working Set
option de menu.la source
SetProcessWorkingSetSize
. C'est une façon. Si bien sûr, si vous ne savez pas ce que cela signifie parce que vous n'êtes pas développeur, vous ne pouvez évidemment pas faire grand-chose. Mais c'est toujours possible, et dire que c'est impossible est toujours incorrect, cela nécessite juste plus de connaissances que l'OP pourrait en avoir.La seule façon que j'ai trouvée est de désactiver le fichier d'échange. Cependant, ce n'est pas une solution parfaite: vous obtiendrez des messages d'erreur si vous vous rapprochez ou dépassez votre limite de RAM, et il peut ne pas enregistrer correctement les vidages sur incident, alors réactivez-le si vous avez besoin de dépanner. En dehors de cela, j'utilise Win7 sans fichier d'échange depuis des mois sans accroc.
Mon expérience: j'ai eu ce problème avec un logiciel de piano (utilisation de 1 Go de RAM) qui serait jeté en swap après ne pas avoir été utilisé pendant un certain temps. Jouer une touche de piano quelques heures plus tard entraînerait un désordre glitch puisque le swap ne serait pas rechargé assez rapidement pour que le son soit joué. (Je mettrais alors mon bras entier sur chaque touche pour forcer un rechargement!)
Si la RAM est un problème, je vous suggère d'en acheter plus (par exemple, 8 à 12 Go avec Windows 7 x64). Pour les conscients de la RAM, avoir beaucoup de RAM est une aubaine.
Mais avant, vous devriez envisager de vous procurer un disque SSD et d'y mettre votre swap. Il accélérera considérablement la récupération des swaps et fournira de nombreux autres avantages au système. La RAM n'offre aucun avantage lorsqu'elle n'est pas utilisée.
la source
L'utilisation du fichier d'échange dépend de nombreux facteurs. Si vous utilisez beaucoup de programmes et que vous n'avez pas assez de RAM pour tous en même temps, alors certaines parties (ou toutes) peuvent être échangées vers le fichier d'échange.
Si vous avez 4 Go de RAM et disons qu'environ 3 Go sont disponibles en raison du fait que des cartes vidéo et d'autres utilisateurs de ressources bloquent des parties des 4 Go, et que vous n'utilisez que quelques programmes qui ne prennent pas beaucoup de mémoire, théoriquement vous ne devrait jamais avoir besoin d'un fichier d'échange. Cependant, Windows Vista et 7 sont notoirement agressifs dans leur échange de programmes sur disque.
J'avais l'habitude d'avoir un paramètre qui réduisait la permutabilité de Windows 7 (la permutabilité est un terme Linux mais il s'applique également à Windows, et puisqu'il existe un paramètre de registre pour apprivoiser l'agressivité de l'échange de Windows, il semble que Microsoft accepte à contrecœur, bien que dans un puits manière cachée), mais je n'arrive plus à le trouver. C'est comme ça que je me suis retrouvé ici. La meilleure alternative à ce paramètre que j'ai trouvé est de vous assurer que vous utilisez un fichier d'échange de taille fixe (je choisis 4096-4096 sur les systèmes d'exploitation 32 bits et 12 Go sur les systèmes 64 bits car j'ai 6 Go de RAM système) sur une partition dédiée. Ayant un disque de rechange de 7200 tr / min de 200 Go, je place toutes mes partitions de swap (Windows XP, 7, 7 64 bits et divers Linux) sur ce disque. Cela semble fonctionner pour moi, mais YMMV.
la source
À noter: lorsque Windows détecte que vous utilisez fréquemment certaines applications, le superfetch met ces applications en mémoire afin qu'elles se chargent plus rapidement. Je pense que faire confiance à Windows pour faire son travail ici.
la source