Modifier le «swappiness» de Windows

10

Existe-t-il un équivalent modifiable de "swappiness" dans Windows 7?

Mon système dispose de 8 Go de RAM, ce qui est plus que suffisant pour mon utilisation quotidienne. Je voudrais modifier le comportement de swap, ce que les systèmes * NIX appellent swappiness et le mettre à 0, comme je l'ai fait sur ma machine Ubuntu.

J'ai cherché sur le Web pour cela, mais toutes les réponses semblent être pour les systèmes * NIX.

rath
la source
Par curiosité, est-il préférable de définir la permutation à une valeur supérieure ou inférieure?
Jon
Cela dépend de la quantité de RAM dont vous disposez et de la quantité que vous utilisez. Dans mon cas, le mettre à 0 ne fera qu'échanger sur le disque pour éviter une out of memoryerreur. Voir cette réponse sur AskUbuntu pour plus @ chipperyman573
rath
1
il semble que Windows ne dispose pas d'une protection d'urgence contre les erreurs de mémoire insuffisante. Voir le lien de ma réponse.
wullxz
doublon possible de Comment contrôler l'utilisation de la RAM / swap
Ƭᴇcʜιᴇ007

Réponses:

7

Sous Windows, il y a quelque chose appelé "fichier d'échange" où le système échange des applications pour libérer de la RAM. Je ne suis actuellement pas sur une machine Windows, mais les étapes que Adobe a mises en ligne ici semblent correctes (je pense que Win+ Pauseest un raccourci vers "Paramètres système avancés).

Bien qu'il soit possible de désactiver le fichier d'échange, il existe certaines préoccupations à ce sujet. Pour plus d'informations, lisez ceci

wullxz
la source
2
Comme vous le dites dans votre commentaire, Windows ne semble en effet avoir aucune protection contre les erreurs de mémoire insuffisante. Cela m'amène à croire qu'il n'y a pas d'équivalent "swappiness". +1 néanmoins pour le nouveau raccourci intéressant que j'ai appris et marqué comme accepté car le lien que vous avez publié m'a conduit à cet article . Acclamations
rath
Il y a beaucoup de gens avec le fichier d'échange désactivé. Le système renferme quelques éléments qu'il n'utilisera pas pendant un certain temps d'une manière qui pourrait être considérée comme non éthique. Le système n'est pas susceptible de "manquer de mémoire" sauf dans les situations où l'utilisateur sait généralement ce qui se passe, il y a souvent des masses de cache qui peuvent être libérées en premier (en supposant qu'il a été libéré correctement). La raison de ne pas le désactiver complètement Certains programmes auront un ajustement, s'il n'est pas là. Et les erreurs qu'ils jettent ne feront pas toujours sens.
Psycogeek
1
J'ai un ordinateur portable avec 8 Go de RAM et je l'ai utilisé avec swap off. Il n'y a aucune différence entre avoir 8 Go de RAM sans échange contre 4 Go de RAM + 4 Go de swap max. Il y a toujours une limite, et une fois que vous atteignez cela, vous verrez des erreurs.
Natan
@Natan: Je prendrais les 8 Go de RAM sur 4 + 4 chaque jour, qu'arrive-t-il à vos performances lorsque vous manquez de ressources physiques pendant les opérations gourmandes en RAM?
Mark K Cowan
@MarkKCowan Je suppose qu'il y a une différence entre avoir 128 Mo et 8 Go de RAM. Lorsque la mémoire est pleine, le système d'exploitation commencera à récupérer de la mémoire et les récupérateurs feront leur travail. Dans un ordinateur de bureau de 8 Go, il est pratiquement garanti qu'il sera récupéré pour continuer, car la majeure partie est du cache. Si vous manquez de mémoire, l'échange sera toujours pire que la récupération de mémoire, car le disque est beaucoup plus lent que CPU + RAM.
Natan
0

La mémoire virtuelle ne se limite pas aux «applications allouant de la RAM et lorsque la RAM physique est épuisée, quelque chose est paginé vers SWAP».

Sous Linux (et peut-être UNIX dans son ensemble), le système essaie de garder les pages récemment lues dans la RAM: programmes exécutés, données chargées, données récemment écrites (déjà sur le disque aussi), etc. Ainsi, si le même programme est exécuté de nouveau, il ne le fait pas pas besoin d'être rechargé à partir du disque. Lorsqu'un programme demande que plus de mémoire soit allouée à son espace d'adressage virtuel, les tampons de disque restants sont d'abord réutilisés (sans accès au disque). Si cela ne suffit pas, certaines pages d'applications en cours d'exécution, qui n'ont pas été consultées récemment, sont effectivement échangées. Sous Linux, l'échange ne se produit normalement pas du tout. Une fois que votre système a commencé à échanger, vous remarquez l'augmentation de l'activité du lecteur (et de la lenteur) et vous dites "oh what the f .." car cela signifie probablement qu'une application fuit de la mémoire, ou que quelque chose sous le capot a commencé à apparaître hors de contrôle.

Windows a traditionnellement une habitude supplémentaire stupide, c'est-à-dire qu'il échange toutes les applications de l'espace utilisateur après un certain temps d'arrêt sur leur inactivité. Strictement, sans pardon, juste pour avoir autant de RAM disponible que possible, "juste au cas où" vous vouliez démarrer une autre application affamée. Si vous laissez votre PC en marche et que vous vous absentez pendant quelques heures, à votre retour, vous remarquez que n'importe quelle application dans laquelle vous basculez, elle est lentement rechargée à partir du swap. Ce comportement était particulièrement douloureux dans Windows 2000 et devient de moins en moins perceptible dans les versions plus modernes de Windows. Dans W2K, la désactivation de l'échange était une évidence. Windows 7 peut toujours suinter comme du miel parfois sans raison particulière, Windows 8.1 et 10 se sont sensiblement améliorés ... mais il n'y a toujours pas de bouton ajustable pour "swappiness", ou d'autres paramètres ajustables de l'algorithme de permutation.

Il existe d'autres facteurs qui peuvent entraîner le broyage du système le long de l'accès lent au disque. Dans Windows 7, vous ne savez jamais si le système vient d'échanger votre application à la bonne vieille façon W2K, ou si vous devez blâmer l'Antivirus pour le fait que votre application démarre si lentement, ou si c'est Windows Update qui fait quelque chose dans le cette fois-ci (connu pour avoir des caprices alternatifs dans ses algorithmes qui conduisent à des blocages avec une consommation de CPU de 100% et / ou un thrashing de disque), ou si spécifiquement une tâche de concierge .NET Framework s'est perdue dans la base de données WinSXS ou quoi. À certaines occasions / dans certaines versions / incarnations de logiciels Microsoft, il semble en fait que certaines tâches natives de Windows "en arrière-plan" (en particulier la gestion de la base de données locale Windows Update) soient délibérément "masquées" dans le gestionnaire de tâches, leur utilisation CPU et RAM n'apparaît pas dans la consommation totale de mémoire. Activité "légitime", mais assez difficile à distinguer d'un rootkit de malware ... Ce n'est qu'une fois que le thrashing s'arrête et qu'un ballon disant "de nouvelles mises à jour sont disponibles" apparaît instantanément, vous savez quelle était la raison.

Au moins, les versions récentes de Windows peuvent vous indiquer l'activité d'E / S disque par processus, et les services individuels sont désormais signalés séparément (au lieu d'un seul processus SVCHOST.EXE).

frr
la source