Commentaires : Windows 11 : à votre avis, quel est le minimum de RAM requis ? C'est moins que ce que vous pensez

4 Go de RAM : c’est la quantité de mémoire vive minimale requise pour animer Window 11… du moins si vous voulez profiter d’une expérience d’utilisation correcte. Autrement, 196 Mo de RAM peuvent suffire.

Où il fallait 8Mo de RAM pour Windows 98SE :slight_smile:

1 « J'aime »

C’est sans doute bien plus grâce au swap qu’à la compression qu’il arrive à « tourner » avec aussi peu de RAM. D’où le fait que ça soit hyper lent, parce que le swap intensif, même sur un SSD, ça ralenti fortement la machine (et sans doute encore plus sur une VM, où les I/O virtualisées ont forcément un peu de latence supplémentaire).

3 « J'aime »

Avec 196 Mo de Ram, c’est surtout le pagefile.sys qui bosse avec le swap sur disque.

2 « J'aime »

Windows a cette incroyable capacité à utilisé d’autant plus de RAM que le système en a.

Mon laptop a été livré avec 16 go, et je tournais autour des 5-6 Go d’utilisation au lancement.
Je suis passé à 64 Go et hop, Windows a pris ses aises, et tourne désormais à 12 - 13 Go au lancement.

Magic.

Bon c’est fluide, y’a pas à dire.

3 « J'aime »

Ça n’a rien d’incroyable, et Windows est loin d’être le seul à se comporter comme ça.

Ça ne sert strictement à rien d’avoir de la RAM inutilisée en grande quantité. Donc un système bien foutu, il va effectivement profiter de « toute » la RAM, quitte à précharger dedans des choses qui n’ont pas encore servi mais pourraient servir… Et si l’espace est nécessaire pour autre chose à un moment, ça sera écrasé.

Et en fait, ça va même plus loin : même la RAM qui est indiquée comme « disponible » par le système, elle est généralement utilisée, pour le cache du stockage. Et là encore, c’est pareil sous Linux. Voilà par exemple ce que donne la commande free sur une de mes machines :

free

On voit donc qu’il y a environ 15 Go de RAM, environs 4.7 Go « utilisés » mais seulement 234 Mo « libres ». Parce qu’il y a environ 10 Go de fichiers qui sont en cache en RAM. Cette RAM utilisée par le cache est par contre quasi intégralement (9.8 Go) considérée comme « disponible », parce qu’en cas de besoin de la RAM pour autre chose elle peut directement être écrasée, sans aucune opération préalable (contrairement aux pages de mémoire d’une application qui vont être recopiées dans le swap avant d’être écrasées).

Même principe sous Windows :
memoire

On a ici 16 Go de RAM, environ 14 Go sont « utilisés », mais seulement 15 Mo sont totalement libres. Car on a environ 2 Go de cache stockage, dont 24 Mo qui sont « modifiés », donc doivent être écrits sur le stockage avant d’être réalloués et quasiment 2 Go qui sont en « veille », donc contiennent des données identiques au stockage et peuvent être écrasées instantanément.

Et les logiciels qui prétendent booster le PC en libérant de la RAM, c’est du vent, ils ont exactement l’effet inverse en fait, ils maximisent les chances qu’une information ne soit pas en RAM au moment où il y en aura besoin…

5 « J'aime »

En fait, Windows a juste ajusté ces caches en fonction de la place disponible. C’est aussi pour ça, que plus on a de mémoire vive, meilleure est la réactivité du système (prefetch, cache de lecture, …).
Bon cela ne sert pas à grand chose de gagner 50ms pour lancer l’après-midi wordpad qui avait déjà été lancé le matin, mais bon… :smiley:

Pour Wordpad, effectivement :slight_smile: Mais il y a beaucoup d’utilisateurs qui demandent plus que Wordpad à leur PC… Et la ram n’est pas optimisée que pour réduire le temps de lancement des applications.

Précharger des applications en RAM ou y garder des fichiers qui ont été lus sur le stockage n’a aucun impact négatif sur les performances si tu as à un moment besoin de la RAM pour autre chose. Parce que toute cette mémoire utilisée comme cache peut en cas de besoin être utilisée exactement comme si elle était vide.

On mettrait déjà une interface simple à la W95/98 et on pourrait gagner en fluidité et en ram haha

Tout à fait, c’était une boutade!

Avec 16 Go de RAM et une utilisation intensive des navigateurs, la mémoire (et parfois le système) sature régulièrement. À quelques occasions, je suis même obligé de redémarrer le système.
Sous Windows 10, la gestion de la mémoire me posait moins de problème (pour une utilisation relativement identique)

1 « J'aime »

À ma connaissance, seul le cache en écriture peut être désactivé (dans l’onglet « Stratégies » des propriétés du disque dur/SSD dans le gestionnaire de périphériques.

Désactiver le cache en lecture, je n’en vois pas trop l’intérêt, sauf quand tu fais des copies de fichiers et que tu veux vérifier leur intégrité immédiatement après la copie. Si le logiciel de contrôle d’intégrité est bien foutu, il va forcer le système à relire depuis le stockage même si c’est encore en cache, mais s’il ne le fait pas il va faire la vérification sur ce qui est en cache au lieu de ce qui a effectivement été écrit. Dans ce cas, il est possible de focer le vidage du cache, soit en utilisant des logiciels dédiés (par exemple, Empty Standby List) soit en allouant toute la RAM à un autre logiciel (par exemple un petit script Python qui initialise une liste de 4 milliards d’entiers va demander 32 Go de mémoire, ce qui forcera le système à vider le cache).

Cache et swap, ce n’est pas la même chose.

Le cache (dans le contexte dont on parle, rien à voir par exemple avec le cache d’un CPU), ça consiste à copier temporairement en RAM des données persistantes provenant du stockage. C’est indispensable pour certaines opérations (le CPU ne peut grosso modo travailler que sur des données qui sont en RAM, il ne peut pas manipuler directement des données du stockage), et ça permet d’améliorer les performances quand un même fichier est lu plusieurs fois.

Le swap, ça consiste à l’inverse à recopier temporairement sur le stockage des données non persistantes qui sont en RAM, dans le but de libérer l’espace en RAM pour un autre usage. Il vaut mieux ne pas le désactiver, même si tu as beaucoup de RAM : si les programmes que tu utilisent tentent d’allouer plus de RAM que ce dont t dispose physiquement, avoir du swap permettra de continuer à fonctionner, en perdant un peu en performances, alors que ne pas avoir de swap provoquera au mieux des erreurs dans certaines applications, au pire des plantages et l’arrêt « sauvage » (sans sauvegarder les travaux en cours) de certaines applications pour faire de la place.

1 « J'aime »

tu me rappelles mon prof de UNIX dans les années 90’ :smiley:

Mais pourquoi désactiver le swap ? Si tu ne le désactive pas, tu as pas à t’emmerder justement à fermer des trucs pour libérer de la mémoire quand une appli en demande temporairement beaucoup… Le système mettra temporairement sur le stockage des données qui ne sont pas utilisées en ce moment et les rechargera en RAM quand tu les utiliseras à nouveau.

Mea culpa, je n’ai pas fait attention. Ce que tu vois là, c’est bien le cache matériel du SSD/disque dur.

Ce à quoi je faisait référence, ie l’utilisation du cache système en RAM pour les écritures, ce n’est pas contrôlable pour les volumes de stockage « fixes », ce n’est contrôlable que pour les volumes « amovibles ». Là on a le choix entre « Suppression rapide » (en VF) qui désactive le cache système en RAM pour les écritures sur ce support et « Meilleurs performances » qui l’active :
2023-02-14 22_56_30-NVIDIA GeForce Overlay DT

Pas à ma connaissance. Et vraiment, ça n’a aucun intérêt. L’espace alloué à ce cache est totalement dynamique, si tu as besoin de toute la RAM pour tes applications, le cache tombera automatiquement à 0, sans que ça ralentisse significativement tes applications (la seule petite perte de temps, c’est qu’éventuellement quand une appli va demander l’allocation d’une grande quantité de mémoire, si le cache doit être réduit à ce moment là, il faut par mesure de sécurité remettre à 0 le contenu des pages mémoire concernées… mais ça se fait très vite).

1 « J'aime »

On n’est plus il y a 20 ans, hein, et beaucoup de gens ont aujourd’hui leur OS sur ssd. Et le temps d’accès à un ssd étant beaucoup plus rapide que pour un hdd, même quand le swap est utilisé, c’est pratiquement imperceptible. neutre

C’était déjà une mauvaise pratique il y a 20 ans, ça l’est tout autant aujourd’hui. Quand on a un pneu crevé, on se dit pas « pas grave, suffit de s’arrêter tous les kilomètres pour regonfler », on répare. Avec le manque de RAM, c’est pareil. Si la machine swappe à mort, c’est qu’elle manque de RAM. Désactiver le swap ne va pas corriger le problème, seule une augmentation de la quantité de RAM va le résoudre.

Justement, le principe du swap c’est de mettre ailleurs ce qui n’a actuellement pas besoin d’être en RAM :slight_smile:

Prenons un exemple concret. Tu passes 2h à travailler des grosses photos dans Photoshop, puis tu t’octroies une pause « glandouille sur le net ». Photoshop s’était accaparé le gros de tes 32 Go de RAM, mais maintenant c’est Firefox qui en réclame.

Avec swap, Windows va prendre des bouts de mémoire alloués à Photoshop (pas tous, ceux qui sont inutilisés depuis le plus longtemps) et les copier dans le swap. Firefox fonctionnera sans souci, sans se rendre compte qu’il y a un manque de RAM. Tu ne vas pas t’en rendre compte non plus, parce que les performances ne sont pas dégradées. Une fois ta pause finie, tu retournes à ton Photoshop. Dans le meilleur des cas, tu ne remarques toujours pas de dégradation de performance : tu n’utilises pas les pages de Photoshop qui ont été swappées, elles restent donc dans le swap. Dans le pire des cas, au moment de switcher vers Photoshop tu te rends compte que c’est un chouilla plus lent que d’habitude. Le temps que Windows libère de la RAM en swappant des pages de Firefox puis recharge dedans les pages de Photoshop qui étaient dans le swap. Ensuite tu peux passer des heures dans Photoshop sans aucune gêne particulière.

Sans swap, quand Firefox va demander de la mémoire alors qu’il n’y en a pas de disponible, Windows va dire « désolé, y en a pas » à Firefox. Là, deux cas de figure : soit Firefox gère mal cette réponse et plante lamentablement, soit il comprend, mais il insiste le bougre, parce qu’il y tient à sa mémoire… Alors il redemande, en insistant bien sur le fait qu’il en a besoin (y a une 3ème option, mais qui n’existe pas à ma connaissance dans Firefox : l’application gère elle même son propre swap… Photoshop le fait par exemple). Du coup Windows il dit « bon OK, puisque t’insistes, je vais faire de la place pour libérer de la mémoire ». C’est là que tu as un message de Windows te disant qu’il va devoir fermer des applications pour libérer de la RAM. Sauf que pas de bol pour toi, il décide de dégager Photoshop, alors que t’avais pas forcément pensé à sauvegarder avant de switcher sous Firefox… Comme il envoi un signal de « mort immédiate », Photoshop ne prendra pas le temps de te proposer d’enregistrer et ton travail sera perdu. Firefox va être content, il a eu sa RAM. À la fin de ta session de surf, tu retournes à Photoshop. Merde, il est plus là, faut le relancer. C’est plus long que s’il avait été swappé. Et en prime tu te rends compte que ton travail a été perdu.

Oui, l’existence de ce cache n’est pas liée à la présence de disque amovible. Il est toujours présent dès qu’il y a de la mémoire disponible. La différence avec les disques amovibles, c’est juste la façon d’utiliser ce cache : sur un disque fixe et sur un disque amovible en mode performances, il utilise ce cache en lecture et en écriture, sur un disque amovible en mode « retrait rapide » il ne l’utilise qu’en lecture.

À ma connaissance, non, ce n’est pas possible. Le mieux que tu puisses faire, c’est utiliser un script avec la commande Empty Standby List pour le vider toutes les x secondes.

Parce que les désagréments que tu peux avoir en le désactivant sont bien plus gênants que les désagréments d’une machine qui swappe un peu…

Si sans swap ta machine ne passe pas son temps à te dire qu’elle manque de RAM et qu’il faut fermer des applications, c’est qu’elle ne fera pas des accès constants au swap…

Donc tu n’aurais que rarement utilisé le swap. Et donc tu ne gagnes rien à le désactiver…

Au minimum, tu as perdu du temps à libérer toi même de la mémoire, alors que le système l’aurait fait beaucoup plus rapidement en utilisant le swap, et sans doute sans que tu ne te rendes compte de quoi que ce soit…

C’est un problème de l’application à cause de l’absence de swap. Et celui qui en subit les conséquences éventuelles, c’est quand même l’utilisateur au final, pas l’application…

La seule fois où j’appréciais la présence du swap, c’était sous Win 7 32 bits qui ne voyait que 3,5gb, pour mettre le swap dans un ramdisk dans la mémoire non visible : compilations PS3 bien plus rapides.
Sinon bof, je le désactive souvent aussi.