Beschränken Sie den Benutzer auf einen CPU-Kern in Windows 7

1117
Dean Ward

Ich lasse meine Familienmitglieder meinen PC über rdp verwenden, um ihre Flash-basierten Spiele zu spielen, da sich ihre Laptops überhitzen, wenn sie sie direkt verwenden. Ich habe es eingerichtet, damit ich den PC gleichzeitig verwenden kann. Der PC verfügt über eine Quad-Core-CPU, und ich möchte in der Lage sein, einen dieser Kerne dem über RDP angemeldeten Benutzer zuzuweisen, sodass die anderen 3 Kerne in Ruhe gelassen werden. Ist das möglich?

Sie melden sich zu diesem Zweck über ein spezielles Benutzerkonto an.

Danke für jeden Rat!

1
Vielleicht helfen Ihnen PsTools von Mark Russinovich unter http://technet.microsoft.com/en-us/sysinternals/bb896649;). ATorras vor 13 Jahren 0

3 Antworten auf die Frage

2
Patrick

Mit der Windows-Funktion SetThreadAffinityMask können Sie die Prozessor- / Core-Affinität eines Threads festlegen. Mit dieser Funktion können Sie also einen Thread anweisen, einen bestimmten Kern zu verwenden.

Gehen Sie folgendermaßen vor, um Ihr Problem zu lösen:

  • Schreiben Sie eine Anwendung, die alle Prozesse durchläuft und den Benutzer überprüft
  • Wenn der Benutzer des Prozesses dem Benutzernamen entspricht, der der Anwendung als Argument angegeben wurde:
    • Schleife über alle Threads
    • setze die Affinität auf den ersten Kern

Sie können dieser Anwendung ein schönes Fenster-Frontend geben und sie automatisch ausführen, sobald Sie sich an Ihrem Computer anmelden.

Sie können diese Anwendung auch zu einem Windows-Dienst machen und beim Start des Computers automatisch ausführen lassen.

Klingt nach einer großartigen Lösung und einem lustigen Projekt! Ich werde es versuchen und die Software veröffentlichen, wenn Sie fertig sind. Vielen Dank :) Dean Ward vor 13 Jahren 0
0

Hier gibt es eine Reihe von Dingen. Die einfachste Lösung wäre, es auf dem Laptop zum Laufen zu bringen, oder?

  • Vielleicht gibt es ein Problem mit der Laptop-Hardware, dem Lüfter?
  • Sie könnten versuchen, den Laptop mit einer Unterspannung zu unterdrücken, um die Betriebstemperatur zu senken.

Wenn Sie mit der RDP-Idee vertraut sind, können Sie Folgendes versuchen:

  • Verringerung der Prozesspriorität für RDP im Task-Manager. (Ich habe kein Windows 7, daher bin ich mir nicht sicher, ob dies als separater Prozess ausgeführt wird.) Ich denke, das sollte einen ähnlichen Effekt haben wie das, wonach Sie suchen. Wenn rdp als Dienst ausgeführt wird, gibt es wahrscheinlich eine Möglichkeit, die Priorität zu reduzieren, aber es ist nicht so einfach, wie ich es mir vorstellen könnte.
  • Sie könnten auch versuchen, die Prozessaffinität im Task-Manager zu ändern. Ich denke, mit dieser Funktion können Sie rdp genau einem Kern zuweisen, aber es hängt auch davon ab, ob es sich bei rdp um einen Dienst handelt, wie einfach dies ist.
Der fragliche Laptop ist alt und schwach. Es läuft schon sehr langsam, so dass es beim Untertakten wahrscheinlich keine Option wäre. Ich werde versuchen, den Prozess des rdp-Dienstes zu finden und die Affinität darauf zu richten, danke für diesen Vorschlag! vor 13 Jahren 0
fand den Prozess, der den Dienst hostet, und setzte es auf einen einzelnen Kern, aber der Prozess des Spiels lief noch auf anderen Kernen. Sieht aus, als wäre dies kein Starter! Danke trotzdem. vor 13 Jahren 0
0
Gilad

Dies ist keine einfache Lösung, sondern die beste Möglichkeit, den Computer mithilfe von VM-Software (Virtual Machine) vollständig auf zwei (oder mehrere) Computer aufzuteilen. Dadurch wird Ihr Problem möglicherweise auch für zukünftige Probleme gelöst (Junk, Viren ...).

Wenn VM installiert ist, können Sie auswählen, wie viel CPU-Verarbeitungszeit jeder Computer erhalten soll. Diese Auswahl funktioniert auch für andere Ressourcen wie Speicher, Speicherplatz, Netzwerkbandbreite ...

Wenn Sie sich dafür entscheiden, stellen Sie sicher, dass Ihre CPU Virtualisierung unterstützt.

Ich habe versucht, die VM-Route hinunterzugehen, stellte jedoch fest, dass sie viel mehr Aufwand verursachte als die Art, wie ich sie jetzt mache. vor 13 Jahren 0