Ich habe meinen MBP (mit 16 GB RAM) wie gewohnt verwendet und aus heiterem Himmel habe ich dieses Popup angezeigt:
Auf Ihrem System ist kein Anwendungsspeicher mehr verfügbar.
Beenden Sie alle Anwendungen, die Sie nicht verwenden, um Probleme mit Ihrem Computer zu vermeiden.
Ich habe offensichtlich einige geschlossen, die ich konnte, aber es hat nicht geholfen.
Nach der Überprüfung des Speichers hat der Kernel-Task anscheinend 7 GB und 22,36 GB Swap-Speicher mit insgesamt 23 GB (was offensichtlich der Fall war) verbraucht. Allerdings habe ich immer noch 20 GB freien Speicherplatz auf meiner SDD.
Activity Monitor hat nicht viel geholfen, als mein OS X auf die Zerstörung zusteuerte.
Meine top
Statistiken vor dem Einfrieren meines Kernels:
Processes: 344 total, 2 running, 5 stuck, 337 sleeping, 2580 threads 19:23:56
Load Avg: 1.56, 1.62, 2.09 CPU usage: 3.51% user, 8.47% sys, 88.1% idle SharedLibs: 46M resident, 0B data, 6572K linkedit. MemRegions: 757970 total, 2139M resident, 56M private, 907M shared.
PhysMem: 9410M used (6198M wired), 556M unused. VM: 1155G vsize, 1311M framework vsize, 112872658(320) swapins, 122668389(0) swapouts. Networks: packets: 299419263/363G in, 142126838/14G out.
Disks: 58970173/1079G read, 20012389/1120G written.
Am Ende war mein OS X eingefroren und ich musste einen Hard-Reset durchführen, mein SDD im Wiederherstellungsmodus reparieren und anschließend reparieren (verlorene Arbeit wiederherstellen, Anwendungskonflikte beheben, meinen Fundsachenordner überprüfen, Chrome / Terminal-Tabs verschwunden, Kopfschmerzen usw.). ).
Meine Frage ist, wie überprüfe ich, ob die Kernel-Task viel Speicher belegt oder wie ich mit einer solchen Situation richtig umgehe? Ich habe versucht, mit Activity Monitor eine Probe zu nehmen, diese ist jedoch ausgegraut.
Meine MBR-Details: 2,3 GHz Intel Core i7 (Ende 2013) mit 16 GB RAM. OS X: 10.9.5
zprint -t
(Lion) odersudo zprint -t
(Mountain Lion und höher).Antworten:
Es gibt viele Dinge, die bei der Verwendung hoher Kernel-Aufgaben schief gehen. Normalerweise hängt dies mit einem fehlerhaften oder schweren Prozess zusammen, der die Systemressourcen überlastet (z. B. Indizierung von Speicher, Ausführen von VMs, zu viele Registerkarten im Webbrowser oder einige andere Hintergrundprozesse).
Im Folgenden finden Sie einige Methoden, mit denen Sie Probleme bei der Verwendung des OS X-Kernels untersuchen können:
Grundlegende Methoden
Console.app
Sie " Alle Nachrichten " aus und überprüfen Sie, ob gerade etwas Ungewöhnliches passiert.Verwenden Sie den Aktivitätsmonitor , um den Systemspeicher zu lesen und festzustellen, wie viel CPU, RAM und Festplatte verwendet werden.
Alternativ können Sie das Programm auch
top
im Terminal ausführen und gedrückt halten Space, um die Aktualisierung zu starten . Auf diese Weise können Sie die Ursache des Problems leichter ermitteln ( Swapins / Swapouts / Festplatten ?).Führen
sudo fs_usage
Sie in Terminal - Systemaufrufe und Seitenfehler zu berichten bezogenen Aktivitäten in Echtzeit Dateisystem (Ich denke , das ist die beste Option von allen anderen). Dann drücke Control- Cum es zu stoppen.Maßnahme: Erwägen Sie, Apps zu beenden, die häufig in der Liste angezeigt werden, aber Sie verwenden sie nicht.
Weitere Informationen finden Sie unter: Wie kann ich einen außer Kontrolle geratenen "kernel_task" -Prozess debuggen?
Renne
sudo syscallbypid.d
(odersyscallbyproc.d
), warte ein bisschen, drücke Control- C. Überprüfen Sie nun, welcher Prozess in der angegebenen Zeit die meisten Systemaufrufe generiert hat (letzte Spalte), und ziehen Sie in Betracht, ihn zu beenden, wenn Sie ihn erkennen. Wenn nicht, Google es und erfahren Sie mehr darüber.Fortgeschrittene Methoden
Verwenden Sie den
sysdiagnose
Befehl (kann durch Drücken von Shift- Control- ⌥- ⌘- .(Punkt) ausgelöst werden ), um schnell systemweite Diagnoseinformationen zu erhalten, die bei der Untersuchung von Systemspeicher- / Leistungsproblemen hilfreich sind (in angezeigt werden/var/tmp
). Versuchen Sie während der Analyse, dies nicht zu tun Wenn Sie fertig sind, können Sie die generierte Datei dekomprimieren und die Protokolle analysieren.Siehe: Wie erhalten Sie Systemdiagnosedateien von OS X?
Führen Sie diesen Befehl aus
footprint
, um detaillierte Speicherinformationen auf der Ebene der einzelnen VM-Regionen und vertauschte Bytes zu erfassen:Ältere Version:
Verwenden Sie
spindump
diese Option, um das gesamte System zu profilieren, und generieren Sie eine/tmp/spindump.txt
Datei (einschließlich des Kernels und seiner Erweiterungen).Verwenden Sie
vm_stat
diese Option , um Statistiken zum virtuellen Speicher anzuzeigen. Z.BVerwenden Sie
zprint
diese Option , um Informationen zur Kernel- Nutzung zu überprüfen. Dies ist möglich durch:Es werden die am meisten verschwendeten Kernelzonen angezeigt.
Verwenden Sie
newproc.d
diese Option, um neue Prozessecreatbyproc.d
für Dateien zu überwachen, während diese ausgeführt werden:Hinweis: Unter neueren OS X-Versionen (10.11 oder höher) funktioniert dies möglicherweise nicht, wenn der Integritätsschutz aktiviert ist (überprüfen durch
csrutil status
).Try
sar
- System Activity Reporter, mit dem verschiedene vom Betriebssystem verwaltete kumulative Statistikzähler erfasst und gemeldet werden können.Weitere nützliche Debugging-Tools finden Sie unter dtrace scripts (
grep dtrace /usr/bin/*
). Wenn Sie den fehlerhaften Prozess kennen, der das Problem verursacht, können Sie ihndtruss
zum Debuggen verwenden.Aktionen
Hier sind einige Vorschläge, die Ihnen bei Problemen mit dem Betriebssystem helfen können.
Geben Sie inaktiven Speicher frei. Dazu müssen Sie zuerst den Cache leeren und erzwingen, dass der Festplatten-Cache gelöscht wird:
Seine Funktion besteht im Wesentlichen darin, alle ausstehenden E / A-Vorgänge zu beenden, die den Festplatten-Cache verwenden, und dann den gesamten belegten Festplatten-Cache freizugeben, sodass Speicherplatz frei wird, um das Auslagern und Auslagern des Hauptspeichers zu vereinfachen. Die Verwendung ist sicher, da anonymer Speicher, der über malloc, vm_allocate usw. zugewiesen wurde, nicht betroffen ist.
Verwenden Sie einige Apps von Drittanbietern , um überlasteten Speicher wie iBoostUp , SystemPal usw. zu beseitigen .
Sie können auch temporäres Spotlight deaktivieren:
Und erwägen Sie andere Dienstleistungen von:
Beenden Sie Ihren Webbrowser und prüfen Sie, ob dies hilft. Beispielsweise ist die Verwendung von Chrome sehr einfallsreich, insbesondere wenn im Hintergrund Front-End-Prozesse ausgeführt werden (z. B. Javascript) oder werbeartige Animationen den Inhalt ständig rendern.
quelle
kernel_task
Problem der hohen Speicher- und CPU-Auslastung tatsächlich zu lösen .Ich hatte ein sehr ähnliches Problem, nachdem ich meinen LCD-Bildschirm auf einem iMac Ende 2012 ausgetauscht hatte. Der Lüfter lief mit hoher Drehzahl und hatte eine hohe CPU-Kernel_task-Auslastung. Ich habe es auf einen Temperatursensor eingegrenzt, den Sie vom alten LCD-Bildschirm auf den neuen Ersatzbildschirm verschieben müssen. Wenn Sie dies vergessen, werden die CPU-Geschwindigkeit und die Kernel_task beeinträchtigt, wodurch Ihr System verlangsamt wird.
quelle