Ich habe mein MacBook Pro (mit 16 GB RAM) wie gewohnt verwendet und plötzlich habe ich dieses Popup:
Ihr System hat keinen Anwendungsspeicher mehr.
Um Probleme mit Ihrem Computer zu vermeiden, beenden Sie alle Anwendungen, die Sie nicht verwenden.
Ich habe offensichtlich einige geschlossen, die ich konnte, aber es hat nicht geholfen.
Nach der Überprüfung des Speichers scheint es, dass die Kernel-Task 7 GB verbraucht hat und 22,36 GB Auslagerungsspeicher von insgesamt 23 GB verwendet wurden (was offensichtlich der Fall war). Allerdings habe ich noch 20 GB freien Speicherplatz auf meiner SDD.
Activity Monitor hat nicht viel geholfen, während mein OS X auf die Zerstörung zusteuerte.
Meine top
Statistiken vor meinem Kernel-Freeze:
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 ist mein OS X eingefroren und ich musste einen Hard-Reset durchführen, meine SDD im Wiederherstellungsmodus reparieren und danach reparieren (verlorene Arbeit wiederherstellen, Anwendungskonflikte beheben, meinen verlorenen + gefundenen Ordner überprüfen, Chrome/Terminal-Tabs weg, Kopfschmerzen usw. ).
Meine Frage ist, wie überprüfe ich die hohe Speicherauslastung der Kernel-Task oder wie gehe ich richtig mit dieser Art von Situation um? Ich habe versucht, eine Probe mit Activity Monitor zu nehmen, aber sie ist ausgegraut.
Details zu meinem MacBook Pro: 2,3 GHz Intel Core i7 (Ende 2013) mit 16 GB RAM. OS X: 10.9.5
Es gibt viele Dinge, die bei einer hohen Kernel-Task-Nutzung schief gehen. Normalerweise hängt dies mit fehlerhaften oder schweren Prozessen zusammen, die die Systemressourcen überlasten (z. B. Indizierung von Speicher, Ausführen von VMs, zu viele Registerkarten im Webbrowser oder einige andere Hintergrundprozesse).
Hier sind einige Methoden, die helfen, Probleme bei der Nutzung des OS X-Kernels zu untersuchen:
Console.app
“ aus und prüfen Sie, ob derzeit 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 top
im Terminal ausführen und zum Aktualisieren gedrückt halten Space- einfacher, das Ursachenproblem zu finden ( Swapins / Swapouts / Disks ?).
In sudo fs_usage
Terminal ausführen , um Systemaufrufe und Seitenfehler im Zusammenhang mit Dateisystemaktivitäten in Echtzeit zu melden (ich denke, dies ist die beste Option von allen anderen). Drücken Sie dann Control- C, um es zu stoppen.
Aktion: Erwägen Sie, Apps zu beenden, die häufig in der Liste erscheinen, aber Sie verwenden sie nicht.
Erfahren Sie mehr unter: Wie debugge ich einen außer Kontrolle geratenen „kernel_task“-Prozess?
Führen Siesudo syscallbypid.d
(oder syscallbyproc.d
), warten Sie ein bisschen, drücken Sie Control- C. Überprüfen Sie nun, welcher Prozess in der angegebenen Zeit die meisten Systemaufrufe generiert hat (letzte Spalte) und wenn Sie ihn erkennen, sollten Sie ihn beenden. Wenn nicht, googeln Sie es und erfahren Sie mehr darüber.
Verwenden Sie sysdiagnose
den Befehl (kann durch Drücken von Shift- Control- ⌥- ⌘- .(Punkt) ausgelöst werden, um schnell systemweite Diagnoseinformationen zu sammeln, die bei der Untersuchung von Systemspeicher-/Leistungsproblemen hilfreich sind (erscheinen in /var/tmp
), entweder von Ihnen oder von Apple-Mitarbeitern. Versuchen Sie während der Analyse, dies nicht zu tun Wenn Sie fertig sind, ziehen Sie in Betracht, die generierte Datei zu dekomprimieren und die Protokolle zu analysieren.
Ausführen footprint
, um detaillierte Arbeitsspeicherinformationen auf Typebene pro VM-Region und ausgetauschte Bytes zu sammeln:
sudo footprint -a
Ältere Version:
sudo footprint -all -categories -swapped -collapseSharing
Wird verwendet spindump
, um das gesamte System zu profilieren, es wird eine Datei generiert /tmp/spindump.txt
(einschließlich Kernel und seiner Erweiterungen).
Wird verwendet vm_stat
, um Statistiken zum virtuellen Speicher anzuzeigen. Z.B
vm_stat 1 # to display every second.
Verwenden Sie diese Option zprint
, um Informationen zur Kernel-Nutzung zu überprüfen. Dies ist möglich durch:
sudo zprint -t -s | head -n20
Es zeigt die am meisten verschwendenden Kernelzonen.
Verwenden Sie newproc.d
, um neue Prozesse während der Ausführung creatbyproc.d
nach Dateien zu durchsuchen:
sudo newproc.d
sudo creatbyproc.d
Hinweis: Unter neuerem OS X (10.11 oder höher) funktioniert dies möglicherweise nicht, wenn der Integritätsschutz aktiviert ist (überprüfen Sie dies mit csrutil status
).
Try sar
– Systemaktivitäts-Reporter, der verschiedene vom Betriebssystem verwaltete kumulative Statistikzähler abtasten und melden kann.
Weitere nützliche Debugging-Tools finden Sie unter dtrace-Skripts ( grep dtrace /usr/bin/*
). Wenn Sie den fehlerhaften Prozess kennen, der das Problem verursacht, können Sie dtruss
ihn zum Debuggen verwenden.
Hier sind einige Vorschläge, die Ihnen bei Problemen mit dem Betriebssystem helfen können.
Geben Sie etwas inaktiven Speicher frei. Um dies zu tun, müssen Sie zuerst den Cache leeren und das Löschen des Festplatten-Cache erzwingen:
sync && sudo purge
sync
- Erzwingen Sie den Abschluss ausstehender Festplattenschreibvorgänge (Flush-Cache)
purge
- erzwingen, dass der Festplatten-Cache geleert (gespült und geleert) wird
Seine Funktion besteht im Grunde darin, alle anstehenden E/A-Operationen zu beenden, die den Festplatten-Cache verwenden, und dann den gesamten belegten Festplatten-Cache freizugeben, sodass er Festplattenspeicher freigeben sollte, um das Auslagern und Auslagern des Hauptspeichers zu erleichtern. Es ist sicher zu verwenden, da es keinen Einfluss auf anonymen Speicher hat, der durch malloc, vm_allocate usw. zugewiesen wurde.
Verwenden Sie einige Apps von Drittanbietern, um überlasteten Speicher wie iBoostUp , SystemPal usw. zu löschen.
Sie können Spotlight auch vorübergehend deaktivieren:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
Und erwägen Sie andere Dienstleistungen von:
sudo launchctl list | grep ^[0-9]
sudo launchctl bslist | grep ^A
Beenden Sie Ihren Webbrowser und prüfen Sie, ob das hilft. Die Verwendung von Chrome ist beispielsweise sehr einfallsreich, insbesondere wenn im Hintergrund eine Frontend-Verarbeitung stattfindet (z. B. Javascript) oder werbeähnliche Animationen den Inhalt ständig rendern.
kernel_task
Speicher- und CPU-Auslastung tatsächlich zu lösen.kernel_task
. Was bedeutet, dass die Browseraktivität in endet kernel_task
?Ich hatte ein sehr ähnliches Problem, nachdem ich meinen LCD-Bildschirm bei 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 Kernel_task beeinträchtigt und Ihr System verlangsamt.
klanomath
kenorb
klanomath
zprint -t
(Lion) odersudo zprint -t
(Mountain Lion und höher).klanomath
kenorb
zprint -t
zeigt mir die Tabelle. Gibt es eine Möglichkeit, die Kernelnutzung zu reduzieren/aktualisieren? Oder könnte es eine Art Pechleck sein?klanomath
kenorb
Charly Martin
Adnan