Pourquoi chkdsk utilise 90% de ma RAM?

24

Quand j'ai construit mon nouvel ordinateur, j'ai donné mon ancien à mes parents qui avaient un besoin urgent d'une mise à niveau, après avoir tout nettoyé, bien sûr, en ne laissant que le système d'exploitation et quelques programmes. Cela a bien fonctionné pendant un certain temps, avant qu'il ne commence à ne pas charger Windows (il resterait bloqué). Après avoir étudié ce comportement et posé des questions, j'ai décidé qu'il pourrait s'agir d'un disque dur défaillant, alors je l'ai retiré et branché sur mon propre ordinateur pour exécuter chkdsk dessus (j'ai d'abord fait cela pour essayer de démarrer sur le lecteur, mais Étant donné que mon ordinateur est configuré avec RAID et que l'installation de Windows n'avait pas de pilotes RAID, je viens de démarrer dans ma propre installation de Windows 7 et d'exécuter chkdsk dessus).

Je l'ai fait vendredi dernier soir, et cela fonctionne depuis (ce qui fait environ 6 jours jusqu'à présent). Je ne suis pas surpris car il peut être lent, c'est un disque dur de 1 To, et un Western Digital "vert" à cela, donc il tourne probablement à un RPM plus lent de toute façon. Je le vois progresser, donc je sais qu'il n'est pas bloqué, et le voyant du disque dur est allumé en permanence, sur mon ordinateur, que je n'ai pas utilisé pour beaucoup d'autre chose, à part le partage de fichiers sur le réseau et le Web léger la navigation, alors que cela a été en cours d'exécution.

Mon ordinateur possède 16 Go de RAM et exécute Windows 7 Pro x64. Pourquoi chkdsk absorbe 90% de cela? Il maintient ce niveau stable, et cela depuis des jours, allant de 90% à 91%, car il libère et remplit la mémoire en permanence. L'utilisation du processeur est très faible (ce que j'attends car il s'agit d'une opération très lourde d'E / S).

Il ne semble pas que quelque chose de mauvais se passe, mais je suis curieux. Pourquoi chkdsk prend-il autant de mémoire? Je suis au moins heureux qu'il semble faire cela intelligemment, car il maintient un niveau élevé sans commencer à écraser le disque dur principal en paginant.

Est-ce que quelqu'un sait? Est-ce normal?

Ben Richards
la source

Réponses:

19

Si cela fonctionne depuis plusieurs jours, je suppose que vous avez couru chkdskavec le /rdrapeau.

Avec Windows 7, utiliser autant de RAM est normal. La source

L'équipe du système de fichiers a immédiatement commencé à examiner le problème. [...] [F] rom leur point de vue l'utilisation de la mémoire était par conception et était un changement spécifique de Windows 7 pour ce scénario (l'indicateur / r attrape un verrou exclusif et répare un disque et donc notre hypothèse est que vous aimeriez vraiment le disque à réparer avant de faire plus de choses sur la machine [...]).

afrazier
la source
J'utilise l'interface graphique, mais j'ai coché la case pour rechercher et tenter de réparer les secteurs défectueux, ce qui est l'équivalent. Merci pour le lien!
Ben Richards
Ce n'est pas seulement Windows 7; Windows 2008 R2 entre également dans cet état inimaginable. Je descends un seul disque pour vérification, et chkdsk avait absolument besoin de consommer 20 Go de RAM pour ce seul disque et de ralentir le reste du serveur. Ce n'est pas une erreur, 20 Go de mémoire.
icelava
@icelava: Considérant que 2008 R2 est une continuation de la base de code de Windows 7, ce n'est pas surprenant. Cela affectera probablement également tous les nouveaux systèmes d'exploitation.
afrazier
J'ai vérifié mon disque NTFS externe de 2 To sans les commutateurs / r (ou tout autre) et il consommait toujours presque toute la RAM (j'ai 5 Go). Windows 7 64 bits.
David Balažic
Intéressant. Je viens de l'exécuter sur un disque de 1,5 To et il n'a même pas atteint 1 Go sur un système de 8 Go. Je m'attends à ce qu'une vérification en lecture seule utilise uniquement autant de RAM que nécessaire.
afrazier
8

Je fonctionne actuellement CHKDSK /rsur un disque Seagate 1 To SATA 3 Go - Windows 7 x64 Ultimate, CHKDSK consomme 31 Go de ma 32 Go de RAM. Cependant, si vous chargez un autre programme tel qu'After Effects, CHKDSK libère de la RAM pour permettre au programme de fonctionner assez bien.

Richard
la source
5

Si vous avez plus de 4 Go de RAM, vous pouvez limiter l'utilisation de la RAM chkdsk à 4 Go en utilisant la version chkdsk 32 bits. Il se trouve dans C: \ Windows \ SysWow64 \ chkdsk.exe

Cela peut être un avantage, car les autres programmes déjà chargés ne seront pas échangés sur le disque et le cache disque ne sera pas vidé. Donc, exécuter chkdsk en parallèle avec d'autres programmes ne nuit pas aux performances des autres programmes, sauf s'ils utilisent le même disque.

informatorius
la source
Bon conseil! Ma machine de développement a 48 Go pour une raison et j'ai remarqué une forte baisse des performances avec de nouveaux processus (et en tant que développeur, de nouveaux processus sont démarrés très, très souvent) en raison de l'exécution chkdsken arrière-plan, consommant presque tout cela. Cela a sauvé la journée;)
Abel
3

Comme déjà signalé, cela est de par leur conception dans Windows 7. La "conception" est fixe à partir de Windows 8 et maintenant chkdsk utilise moins de RAM. Si vous souhaitez que la méthode Win7 utilise toute la RAM pour améliorer les performances, exécutez chkdskavec le paramètre /perf.

/ perf NTFS uniquement: (doit être utilisé avec "/ scan") Utilise plus de ressources système pour effectuer une analyse aussi rapidement que possible. Cela peut avoir un impact négatif sur les performances d'autres tâches exécutées sur le système.

magicandre1981
la source
2

Cela semble être par conception. La RAM inutilisée est une ressource gaspillée. Il n'y a aucune raison de minimiser l'utilisation du RAM et de garder la RAM en "réserve" lorsqu'elle peut être réutilisée presque instantanément selon les besoins. Windows 8 utilisera ram pour n'importe quoi plutôt que de le laisser inactif. Peut-être que cette philosophie a commencé dans Windows 7 et impliquait CHKDSK. Je ne sais pas quel avantage CHKDSK obtient d'une utilisation élevée de la RAM, mais je suis prêt à croire qu'il y a un avantage. J'ai appris il y a longtemps que ce n'est pas parce que je ne comprends pas qu'il n'y a pas de bonne raison. Tant que son utilisation de la mémoire diminue car d'autres programmes ont besoin de mémoire, ce n'est pas un problème.

Nathan Brésil
la source
2
Un Ram inutilisé est seulement gaspillé jusqu'à ce qu'il soit utilisé par un autre programme qui en a besoin. Si vous consommez toute la RAM et que vous souhaitez ensuite démarrer un autre programme, vous venez d'augmenter le temps de chargement par ordre de grandeur, car vous devez d'abord vider toutes ces choses dans le ram sur le disque, ce qui est douloureusement lent. Personne n'aurait remarqué ce problème si cela n'avait pas causé de problème. Toujours avoir de la RAM en réserve pour démarrer de nouveaux processus est une bonne idée. Je voudrais savoir qui est l'idée géniale de consommer toute la RAM.
horta
2
Certains programmes, tels que VMware, refuseront de démarrer des machines virtuelles à moins qu'une quantité suffisante de RAM ne soit disponible (il n'essaie pas de consommer de la RAM, il abandonne simplement sans essayer, ce qui signifie que chkdsk n'a même pas la possibilité de libérer). Tuer chkdsk a des effets potentiellement dommageables, donc vos choix sont 1) d'attendre un laps de temps déraisonnable ou 2) de risquer de perdre des données sur le disque en cours de vérification. Oui Microsoft.
aggregate1166877
0

C'est un bug. J'ai eu ce plantage sur ma machine en utilisant trop de mémoire, et c'est avec 8 Go de RAM et un fichier d'échange de 4 Go. Il n'y a aucun moyen que cela se produise. Ils peuvent l'appeler «par conception», mais cela n'a aucun sens. C'est clairement un bug. Il n'y a pas de base valable unique pour un programme chkdsk pour stocker autant de données dans ram.

métamorphose
la source
2
Le format Q&A du site réserve des réponses pour des solutions à la question. Ce message est vraiment un commentaire plutôt qu'une réponse. Vous pouvez toujours commenter vos propres articles, et une fois que vous aurez une réputation suffisante, vous pourrez commenter n'importe quel article . Les non-réponses ont tendance à attirer des votes négatifs et sont susceptibles d'être supprimées.
fixer1234
À mon avis, c'est une réponse à la question que l'affiche a posée et est donc une solution, pas un commentaire.
métamorphose