Es tut mir leid, ich weiß, dass dies wie eine flippige Antwort klingt ... aber die Antwort auf die Frage in Ihrem Titel lautet "weil sie nicht sollen".
Oder, um es höflicher auszudrücken: Es wird viel RAM verwendet, das nicht in den privaten Arbeitssätzen von Prozessen enthalten ist. Einige davon befinden sich in den gemeinsam genutzten Arbeitssätzen von Prozessen. Aufgrund der gemeinsamen Nutzung können Sie jedoch keine verlässliche Vorstellung von der tatsächlichen Verwendung erhalten. Wenn Sie die Prozessnummern addieren, erhalten Sie ein viel zu großes Ergebnis.
Andere Dinge, die RAM belegen, wie der nicht ausgelagerte Pool, der residente Teil des ausgelagerten Pools und die residenten Teile anderer Kernel-Space-Anwendungen, werden in der Task-Manager-Anzeige "Prozesse" überhaupt nicht angezeigt.
In Bezug auf Ihr spezielles Problem:
Weitere Informationen finden Sie in der Task-Manager-Anzeige im Abschnitt "Kernelspeicher". Sie haben 6 GB "nicht ausgelagerten Speicher" (dh nicht ausgelagerten Pool). Dies ist Teil des Abschnitts "In Benutzung" in Ihrem zweiten Diagramm. Der nicht ausgelagerte Pool wird keinem Prozess in Rechnung gestellt, weshalb das Aufsummieren der Prozessnummern im Task-Manager nicht annähernd die Gesamtzahl der verwendeten Prozesse erreicht. Einige Treiber verwenden es höchstwahrscheinlich. Dies ist eine völlig überhöhte Menge; es sollte deutlich unter 1 GB liegen. Welcher Treiber auch immer für den übermäßigen Teil der nicht ausgelagerten Poolnutzung verantwortlich ist, ist zweifellos fehlerhaft.
RAMmap kann dies bestätigen (auf der Registerkarte "Use Counts" die Gesamtsumme für "Nonpaged Pool" anzeigen), aber es kann Ihnen nicht helfen, den Treiber zu finden, der es verursacht.
So finden Sie es: Besorgen Sie sich eine Kopie des Microsoft-Tools "poolmon". Es ist ein Zeichenmodus-Tool (Junge, ist es jemals), das mit dem Windows-Treiberkit vertrieben wird. Für Windows 7 ist das WDK ein kostenloser Download . Sie müssen das Ganze herunterladen (es ist eine ISO) und von dort installieren, aber Sie können auch nur die Tools installieren, wenn Sie dies möchten.
Suchen Sie in den WDK-Verzeichnissen nach poolmon - stellen Sie sicher, dass Sie das richtige 32- oder 64-Bit-Verzeichnis auswählen - und führen Sie es an einer Administrator-Eingabeaufforderung aus. Sie erhalten eine Anzeige wie folgt:
Drücken Sie jetzt die Taste "p" (nein, ich mache keine Witze. Keine Menüs hier!), Bis in der Spalte "Typ" nur noch "Nonp" angezeigt wird. Drücken Sie dann "b" (zweimal, falls erforderlich), um die Anzeige in absteigender Reihenfolge nach der Spalte "Bytes" zu sortieren (die hier bereits im Beispiel durchgeführt wurde).
Schauen Sie sich dann die Spalte "Tag" für die oberste Zeile an. In dem hier gezeigten (offensichtlich künstlichen) Fall handelt es sich um "Leak". (Auf diesem System wird ein Treiber ausgeführt, der absichtlich abgehört wurde, um dieses Problem zu verursachen. Es "leckt" ein nicht ausgelagerter Pool.)
Übrigens sind die hervorgehobenen Linien diejenigen, die sich seit der letzten Aktualisierung dieses archaischen Bildschirms geändert haben.
Suchen Sie nun unter c: \ Windows \ System32 \ Drivers nach einer .sys-Datei, die diese Zeichenfolge enthält. In diesem Fall würden Sie nach "Leak" wie folgt suchen:
c:\windows\system32> findstr /s Leak *.sys
Durchsuchen Sie dann das Web nach Verweisen auf diese Zeichenfolge und / oder diesen Treibernamen.
Es wäre auch hilfreich, hierher zurückzukehren und den vollständigen Namen, den Herstellernamen usw. aus der .sys-Datei anzugeben.
(Ich wette, dass das Tag, das Sie finden, ECMC ist, der Treiber intmsd.sys ist und mit einem Produkt namens ExpressCache oder IntelliMemory verknüpft ist. Ich würde dieses Produkt "deinstallieren". Es gibt ein Update, um das Problem zu beheben, aber auch Mit der festen Version konnte ich noch nie feststellen, dass die Leistung eines Systems durch dieses Produkt verbessert wurde.
Wenn dies nicht der Fall ist, verwenden Sie im nächsten Schritt das "Windows Performance Toolkit". Durchsuchen Sie dieses Forum nach dieser Zeichenfolge mit Antworten von magicandre1981, um eine Anleitung zu erhalten. Ignoriere Antworten, die xperf erwähnen - es ist eine ältere Version des Tools.
UPDATE: Laut den Kommentaren hat das OP das oben Gesagte getan und festgestellt, dass Poolmon zwar von einer riesigen Gesamtgröße des nicht ausgelagerten Pools berichtet hat, aber alle zugewiesenen Teile anscheinend winzig waren. Meine Vermutung (auch in den Kommentaren) ist, dass dies auf das zurückzuführen ist, was ich "aufgeblähten" Pool nennen werde: Pool wurde zugewiesen und dann freigegeben, aber aus irgendeinem Grund wurde die dem Pool zugewiesene RAM-Menge nicht verkleinert, um die "Freigabe" widerzuspiegeln. . Das Befolgen des in dieser Antwort von magicandre beschriebenen Verfahrens kann den Täter identifizieren.