Laut AppleCare-Techniker müssen Macs wöchentlich neu gestartet werden, da der Kernel abläuft. Was soll das heißen


46

Ich verwende MacOS Sierra auf einem MacBook Pro Mitte 2014. Ungefähr einmal pro Woche wird die CPU-Auslastung von Safari sehr hoch und es kommt zu erheblichen Verzögerungen. In der letzten Instanz waren nur sechs Fenster geöffnet, von denen keines Videos abspielte, aber die CPU-Auslastung von Safari lag bei 332%. Darüber hinaus blieb die CPU-Auslastung von Safari auch nach dem Schließen aller sechs Fenster auf einem hohen Niveau. Ich konnte es nur stoppen, indem ich Safari beendete und neu startete.

Ich habe während des Vorgangs eine Aufzeichnung von Daten erhalten und diese an AppleCare gesendet, wo sie von einem leitenden Berater an das Entwicklungsteam weitergeleitet wurde. Die Antwort, die er erhielt, war, dass es so aussah, als würde ich meinen Computer nicht oft genug neu starten, was notwendig ist, weil der Kernel abläuft (er empfiehlt wöchentlich, und ich habe ihn ungefähr alle zwei Monate neu gestartet). Da dies aus zweiter Hand durch den Senior Advisor erfolgte, konnte ich keine umfassendere technische Erklärung erhalten. Darüber hinaus konnte ich keine offizielle Apple-Dokumentation zu diesem Thema finden.

Kann mir jemand eine detaillierte technische Erklärung geben, die erklärt, was hier eigentlich vor sich geht? Ich bin besonders neugierig, ob dies etwas Besonderes für das Mikrokernel-Design von MacOS ist (im Gegensatz zum monolithischen Kernel) und ob die Kernel-Ablaufzeit basierend auf der Wanduhr, der CPU-Zeit usw. seit dem letzten Neustart festgelegt ist oder abhängig von bestimmten Faktoren variiert. Vielen Dank!

[Ich werde hinzufügen, dass ich von 2004 bis 2009 einen Power Mac G5 verwendet habe, auf dem oft 10 Anwendungen mit jeweils 10 Fenstern ausgeführt wurden, sowie C ++ - Programme, deren Fertigstellung Wochen in Anspruch nahmen und die nie neu gestartet wurden, außer wenn dies für Softwareupdates erforderlich war, und habe Kernel Panics weniger als einmal / Jahr. Aber alle drei MacBook Pros, die ich besessen habe (2008, 2011, 2014), haben alle ein oder zwei Monate eine Kernel-Panik ausgelöst. Ich frage mich jetzt, ob dies daran liegt, dass ich meine MacBook Pros nicht oft genug neu starte - außer, dass dies kein Problem mit dem G5 war.]

Falls es hilfreich ist, sehen Sie hier einen Screenshot, der den Aktivitätsmonitor während des im ersten Absatz beschriebenen Ereignisses zeigt. Außerdem wird die Intel Power Gadget-Anzeige angezeigt. Es scheint seltsam, dass die CPU-Frequenz nur 1,3 GHz beträgt (es ist ein 2,8-GHz-Intel i7-4980HQ-Prozessor mit 4,0-GHz-Turbo-Boost), wenn ein Prozess mit 332% ausgeführt wird. Dieses Verhalten erinnert mich an die thermische Drosselung der CPU (unterscheidet sich aber natürlich von dieser), bei der das System eine fiktive Kernel-Task mit hoher Auslastung (normalerweise ~> 600%) erstellt, um die Ausführung anderer Prozesse zu verhindern, was zu einer niedrigen CPU-Frequenz führt (0,8 GHz) (ein Beispiel für die thermische Drosselung ist nachfolgend dargestellt). Ich habe diese ursprünglich nicht gepostet, weil ich dachte, dass sie eine Ablenkung von meiner Kernfrage zu "Kernel-Ablauf" und wöchentlichen Neustarts darstellen könnten.

HOHE SAFARI-AKTIVITÄT:

Bildbeschreibung hier eingeben THERMISCHE DURCHSETZUNG DER CPU (ZUM VERGLEICH): Die thermische Drosselung auf meinem aktuellen MacBook Pro ist ein anderes Problem als die Kernel-Abstürze, da ich die Abstürze auch im Winter bekam, als ich den Computer zum ersten Mal bekam und es keine thermische Drosselung gab, und habe sie auch mit meinen vorherigen zwei MacBook Pros bekommen. Ich habe dies gerade zum Vergleich gepostet. [Falls Sie neugierig sind: Die Drosselung tritt beständig auf, wenn die diskrete Grafikkarte verwendet wird (4K-Monitor angeschlossen) und die Umgebungstemperatur 83F erreicht. Ich habe noch nie gedrosselt, wenn der Monitor nicht angeschlossen ist. Der Computer ist ordnungsgemäß belüftet. es sitzt auf einem raindesign mStand. Der Apple-Techniker sagt, dass er zur Wartung gebracht werden muss, um die Lüfter auf Staub und einen möglichen erneuten Auftrag von Wärmeleitpaste zu überprüfen. Es ist unter Garantie, aber ich kann '

Bildbeschreibung hier eingeben


AKTUALISIERUNG, 23. JUNI 2017: Ich konnte die Verbindung zum ursprünglichen AppleCare Senior Advisor nicht wiederherstellen und habe mit einem neuen Mitarbeiter gesprochen, der meinen Fall übernommen hat. Er ist seit ungefähr einem Jahrzehnt bei Apple und sagte Folgendes (ich umschreibe):

1) Wöchentliche Neustarts. Es ist zu stark, um zu sagen, dass sie benötigt werden. Sie stellen vielmehr eine gute Praxis dar. MacOS lädt so viel wie möglich in den Arbeitsspeicher, um die Leistung zu maximieren. Wenn Ihr Computer keinen ECC-Speicher verwendet (was nur bei MacPros der Fall ist), schleichen sich Fehler ein. Letztendlich kann dies zu einer Kernel-Panik führen. Wie lange dies dauert, hängt stark von Ihrem Verwendungsmuster ab. Einige können ohne Panik lange durchkommen, andere nicht. [Es ist nicht nur Ihre Nutzungsintensität, sondern auch Ihre Nutzungsintensität. Ein schwerer Benutzer kann also mit seltenen Neustarts zurechtkommen, während ein anderer, der andere Software verwendet, häufigere Neustarts benötigt.] Es geht wirklich um Risikomanagement. Durch einen Neustart wird der Arbeitsspeicher gelöscht und kann neu gestartet werden. Je länger Sie zwischen den Neustarts warten, desto mehr Fehler häufen sich und desto größer ist das Risiko von Kernel-Panics. Eine Woche ist zwar keine spezifische Richtlinie - in der Tat gibt es keine spezifischen Richtlinien. Sie können beispielsweise zwei Wochen verwenden - aus den oben genannten Gründen ist es in der Regel bei Apple üblich, regelmäßig einen Neustart durchzuführen. Wenn Sie dieses Risiko auf einem sehr niedrigen Niveau halten möchten, sind wöchentliche Neustarts eine hervorragende Methode.

[Meine einzige Beobachtung: Dies erklärt nicht, warum ich bei meinem PowerPC keine regelmäßigen Kernel-Panics bekam, die zwar ECC-Speicher beanspruchen, aber die ECC-Funktionalität nicht nutzen können - es sei denn, der PowerPC-Chip selbst verwendete Speicher anders als der Intel-Chip, auch mit dem gleichen Betriebssystem.]

Das angeführte Serverfarm-Beispiel ist kein Problem für Server, die ECC-Speicher verwenden, z. B. den alten Mac XServe. Die Mac Minis natürlich nicht, daher bin ich gespannt, wie oft https://macminicolo.net (von Matt Holland in einem Kommentar unten erwähnt) feststellt, dass die Mac Minis, die sie in ihrer Serverfarm hosten, neu gestartet werden müssen.

2) Kernelablauf: Er hat noch nie davon gehört. Er wird sich zur Klärung an den Ingenieur wenden und sollte innerhalb von etwa einer Woche darüber berichten. Ich werde dich wissen lassen, was er sagt. Als Teil davon wird er versuchen, eine klarere Antwort auf die Safari-CPU-Auslastung zu erhalten (wie oben erwähnt, verfügen die Apple-Ingenieure über eine aktuelle Datenspur dieses Ereignisses, sodass sie über gute Informationen verfügen).

SCHLUSSBERICHT ÜBER "KERNEL EXPIRATION" (AKTUALISIERT AM 9. JANUAR 2018): Ich habe vom neuen Senior Advisor nie eine Antwort über "Kernel Expiration" erhalten. Ich habe selbst ein paar Nachforschungen angestellt und festgestellt, dass es in OSX anscheinend keinen "Kernel-Ablauf" gibt, aber (wie auch von Zan Lynx in der folgenden Diskussion erwähnt) "Kernel-Timer", die ablaufen (siehe) http://www.sciencedirect.com/science/article/pii/S174228761500050X ). Meine beste Vermutung ist also, dass der Apple Care-Techniker sich auf den Ablauf des Kernel-Timers bezog, und dass dies irgendwie in der Übersetzung (um Monomeeths Ausdruck zu verwenden) zwischen dem Ingenieur und dem ursprünglichen Senior Advisor verloren gegangen ist, wodurch es sich in "Kernel-Ablauf" verwandelt hat, als dieser Senior Advisor versuchte, es an mich weiterzuleiten. Ach, auch wenn ja, ich weiß nicht, warum der Klimaingenieur in Bezug auf meine Betriebszeit darüber besorgt war.

EPILOG (1. JULI 2018): In den letzten sieben Monaten habe ich meinen Mac sowohl mit als auch ohne wöchentliche Neustarts verwendet. Ich habe immer wieder festgestellt, dass sich mein Mac bei den wöchentlichen Neustarts gut verhält, aber wenn ich sie vermisse, beginnt ein wackeliges Verhalten aufzutauchen. Mein Fazit ist, dass, obwohl es im Allgemeinen nicht stimmt, dass Macs wöchentliche Neustarts erfordern, meine spezifische Konfiguration dies tut.

Meine Konfiguration:

Ich habe Mitte 2014 MacBook Pro 11,3 (2,8 GHz Intel i7-4980HQ & 1 TB SSD mit 4-Lane-PCIe-Verbindung, formatiert mit APFS). Während dieser gesamten Zeit (seit Januar 2018) habe ich eine Neuinstallation * von High Sierra mit nur den folgenden Nicht-Apple-Programmen ausgeführt: MS Office, Mathematica, Logitech Gaming Mouse, Keyboard Maestro, Carbon Copy Cloner und Canon Printer , TomTom HOME, MacTeX (Suite für die Verwendung von LaTeX), Firefox, Opera, Kindle, Weniger kopieren, Vergrößern, Verzögerer, TestGen, Turbo Tax, Flux, Startleiste und EtreCheck. [* Dh, ich habe das Laufwerk gelöscht, High Sierra installiert und dann die obigen Programme installiert.]

Zuvor (im November 2017) habe ich den Computer zur Garantiereparatur zu Apple gebracht, um die thermische Drosselung und andere Probleme zu beheben. Sie stellten fest, dass die Wärmeleitpaste tatsächlich abgenutzt war, und ersetzten das gesamte Motherboard sowie den Akku (der angeschwollen war), das Gehäuse und das Trackpad. Ich habe seitdem keine thermische Drosselung mehr erlebt.

Mein Mac verbringt die meiste Zeit zu Hause und ist mit einer Logitech K811-Tastatur und einer G502-Maus sowie einem Dell P2715Q 27 "4K-Monitor verbunden.


10
Ich starte nur für MacOS-Upgrades neu, und es läuft viel mehr als bei Ihnen. Ich gehe also davon aus, dass hier etwas Wichtiges in der Kommunikation verloren gegangen ist.
Nohillside

28
Wenn der Techniker, mit dem Sie gesprochen haben, wirklich versucht hat, Ihnen die Schuld an der Kernel-Panik zu geben, sollte er entlassen werden. macOS ist im Laufe der Jahre immer weniger zuverlässig geworden, und es ist ziemlich empörend, den Benutzern die Schuld an seinen Problemen zu geben. Ein gut gestalteter Kernel gerät fast nie in Panik. Linux ist ein gutes Beispiel.
William T Froggard

19
Die notwendig ist , da der Kernel (? Oder Kernel) abläuft (er empfiehlt wöchentliche “ Das hat nichts , aber absolut reine BS ist!
user3439894

16
"Aber alle drei MacBook Pros, die ich besessen habe (2008, 2011, 2014), haben alle ein oder zwei Monate Kernel-Panik ausgelöst." Ich kann das nicht widerlegen, oder William Froggards Behauptung, dass "macOS im Laufe der Jahre immer weniger zuverlässig geworden ist". Ich hatte sowohl PowerPC-basierte Macs als auch eine Reihe von Intel-basierten MacBook Pros und habe keine Stabilitätsrückgänge bemerkt. Wenn überhaupt, ist macOS zuverlässiger als je zuvor. Ich hatte noch nie eine Kernel-Panik auf meinem MBP Ende 2013 (immer noch im täglichen Gebrauch), starte ihn möglicherweise viermal im Jahr neu und bin ein extrem schwerer Benutzer. Ihnen wird ein Haufen Unsinn erzählt.
Cody Grey

6
Es gibt kein zwingendes Argument GEGEN einen regelmäßigen Neustart Ihres Computers, und dies hat Vorteile. Es geht nicht um das Betriebssystem, sondern um das Betriebssystem, die Hardware, die Gerätetreiber, die installierte Software von Drittanbietern UND die spezifischen Verwendungsmuster der Benutzer. Die Leute müssen aufhören, sich so zu verhalten, als wäre ein Neustart nie eine Art Ehrenzeichen. Es ist nicht.
Barbecue

Antworten:


65

Dokumentation dazu existiert nicht.

Nachdem ich als zertifizierter Apple-Ingenieur (CAE) gearbeitet habe, kann ich Ihnen sagen, dass bei der Übersetzung (mangels eines besseren Wortes) von der ursprünglichen Quelle (dh dem Engineering-Team) an den AppleCare-Berater bei Ihnen auf jeden Fall etwas verloren gegangen ist.

Während es fraglich ist ( die Meinungen sind sehr unterschiedlich) , die regelmäßig einen Computer neu zu starten (dh jeder Computer) von Vorteil ist, gibt es sicherlich kein Kernel Ablauf geht . Wie bereits erwähnt, ist ein Neustart eines Mac nur für eine begrenzte Anzahl von Updates / Upgrades erforderlich (z. B. Firmware-Updates, Updates auf Betriebssystemebene, Hardware-Upgrades usw.).

Ich habe regelmäßig verschiedene Macs (einschließlich MBPs), die wochen- und monatelang ohne Probleme rund um die Uhr laufen. Zu hören, dass Sie Ihren Computer nicht oft genug neu starten, was notwendig ist, weil der Kernel abläuft, ist also nichts anderes als eine Erfindung der Fantasie von jemandem. Stellen Sie sich vor, all diese Macs, die als Server verwendet werden, müssten wöchentlich neu gestartet werden - Apple wäre der Spott der IT-Branche!

Meine Empfehlung wäre, die Probleme mit der CPU-Auslastung von Safari zu untersuchen (und möglicherweise eine separate Frage dazu zu stellen).


6
Gibt es Macs für die Servernutzung?
JAB

15
@JAB Apple stellt keinen "Server" mehr im Rack her, aber es gibt sicherlich Macs, die APIs und Websites anbieten. Schauen Sie sich zum Beispiel macminicolo.net an ...
Matt Holland,

5
@JAB Früher gab es einen namens Xserve. Mac Minis werden auch häufig als Server verwendet.
Dmitry Kudriavtsev

11
Es dauerte drei Versionen, bis Apple zu dem Schluss kam, dass "Formatieren und erneutes Installieren" kein akzeptables Verfahren zum Ändern der IP-Adresse eines Servers ist. Ich würde es ihnen nicht übertreffen, wöchentliche Neustarts zu erfordern.
Mark

2
Unsere erste Reaktion bei einem großen Technologieunternehmen, als wir sahen, dass der Mac Mini "Es ist 1/4" zu hoch "war (Racks sind 1-3 / 4, Mac Mini war 2"). Seitdem haben sie das korrigiert.
Harper

24

Wie andere gesagt haben, klingt dies überhaupt nicht nach einer vernünftigen Antwort von Apple, und wahrscheinlich geht bei der Übersetzung etwas verloren. Das heißt, monatliche (oder fast) Kernel-Paniken sind definitiv etwas "Außergewöhnliches". Die Tatsache, dass dies auf drei verschiedenen Maschinen so war, zeigt an, dass Sie entweder das schlechteste Glück mit dem Kauf flockiger Hardware haben oder dass etwas Gemeinsames von Maschine zu Maschine übertragen wurde.

Ich gehe davon aus, dass Sie keine RAM-Chips oder Festplatten von Laptop zu Laptop übertragen haben, sodass entweder Software oder ein externes Gerät übrig bleibt. Wenn jeder neue Computer, den Sie für die Migration Ihrer Umgebung mit TimeMachine oder der integrierten Übertragungssoftware von Apple verwendet haben, möglicherweise bei jedem Upgrade von Computern ein Softwareproblem auftritt. Leider besteht die einzige "schnelle" Möglichkeit, dies zu überprüfen, darin, von einer sauberen Installation zu starten und diese zu verwenden, bis Sie sicher sind, dass das Problem nicht mehr besteht. Wenn Sie ein externes Laufwerk haben, das Sie verwenden können, ist dies eine Möglichkeit für Sie. Andernfalls müssten Sie alles sichern und vollständig neu installieren, ohne die Sicherung wiederherzustellen. Dies ist möglicherweise aufwändiger als Sie möchten. Es ist möglich, dass es '

Angenommen, Sie möchten diese Schritte nicht ausführen, würde ich versuchen, festzustellen, was jede Kernel-Panik gemeinsam hat. Wenn sie alle zu passieren scheinen und mit Ihren Safari-Problemen übereinstimmen, wird dies auf ein wahrscheinliches Safari-Problem eingegrenzt. Sie können entweder einige Monate lang versuchen, einen anderen Browser zu verwenden, um festzustellen, ob das Problem behoben ist, oder Sie können versuchen, alle Plugins / Addons von Drittanbietern zu entfernen, die Sie in Safari installiert haben. Wenn das Problem weiterhin besteht, stelle ich fest, dass die CPU-Auslastung außer Kontrolle gerät, wahrscheinlich aufgrund eines Softwarefehlers, der mit einer Anzeige oder anderem Tracking / Javascript auf den von Ihnen verwendeten Websites interagiert. Sobald Sie alle verschiedenen Plug-ins als Ursache des Problems beseitigt haben, können Sie versuchen, ein Plug-in für die Anzeigenblockierung zu installieren, vorzugsweise eines, das auch JavaScript blockiert und dessen Einschränkung auf maximal zulässt. Dies kann einige Ihrer Browsing-Aktivitäten beeinträchtigen (und sogar einige von Ihnen genutzte Websites zum Erliegen bringen). Mit diesen Plugins können Sie jedoch auch die Blockierung für jede Website einzeln deaktivieren, sodass Sie die Einschränkungen im Laufe der Zeit lockern können, bis Sie sie finden die Website, die die Probleme verursacht. Von dort aus haben Sie eine bessere Ausgangsposition, um genau zu bestimmen, was Ihnen Probleme bereitet.

Wenn die Kernel-Panik auch außerhalb der Safari-Nutzung auftritt, sehen Sie sich möglicherweise Ihre Safari-Probleme an, die durch das verursacht werden, was die Kernel-Panik verursacht. In diesem Fall möchten Sie dies in Angriff nehmen, bevor Sie versuchen, die Safari herauszufinden.

Externe Geräte können auch Kernel-Panics verursachen, wenn sie sich nicht richtig verhalten. Wenn Sie also eine externe Festplatte oder etwas anderes verwenden, das üblicherweise an Ihren USB- oder anderen Erweiterungsanschlüssen angeschlossen ist, versuchen Sie, zu überprüfen, ob das Gerät nicht verwendet wird, um Abhilfe zu schaffen. Sogar so etwas wie ein USB-Stick kann Probleme verursachen. Es ist keine alltägliche Sache, aber auch keine monatliche Kernel-Panik. Wenn Sie immer den gleichen Anschluss für das Gerät verwenden, können Sie auch versuchen, einen anderen Anschluss zu verwenden, um festzustellen, ob es sich um ein internes Hardwareproblem handelt. Dies ist jedoch weniger wahrscheinlich, da das Problem auf mehreren Computern weiterhin besteht.


Ich erinnere mich, dass ich mindestens zweimal eine Neuinstallation durchgeführt habe: Beginnen Sie mit nur dem Betriebssystem, installieren Sie die neuesten Versionen aller Anwendungen aus dem Apple Store oder von den Websites der Entwickler und kopieren Sie sie dann über meine Datenordner (dieser Vorgang dauert ungefähr zwei 8-Stunden-Tage) ). Ich habe es einmal mit Time Machine versucht, fand es zu fehlerhaft und begann erneut mit der obigen Methode.
Theoretiker

Sie haben Recht, dass externe Geräte zu Kernel-Panics führen können. Die einzige Ausnahme zu dem grundsoliden Verhalten, das ich für meinen MacPro beschrieben habe, war ein Jahr, in dem er wiederholt in Panik geriet. In Zusammenarbeit mit Apple haben wir es auf die Sicherungssoftware zurückgeführt, die mit der externen Festplatte von Seagate geliefert wurde (Software für den Mac!). Nach dem Entfernen ist das Problem verschwunden. Ich habe daher darauf geachtet, seitdem keine Sicherungssoftware von Seagate (oder WD) mehr zu verwenden (ich verwende Carbon Copy Cloner) [Fortsetzung des nächsten Kommentars ...]
Theoretiker

5
Immer wenn ich von einem Mac mit vielen Kernel-Panics höre, frage ich, ob Adobe installiert ist. Die Antwort lautet immer ja. Sagen Sie einfach ...
Barbecue

1
@moneyt Ich habe keine Bibliotheksdateien außer meinen Safari-Lesezeichen kopiert. Ich habe nur die Anwendungen neue Versionen dieser erstellen lassen. Ansonsten handelte es sich um Dokumente, Bilder, Musik, E-Mails usw. sowie (IIRC - Ich kann meine Notizen dazu nicht finden) Teile von / usr / local, die sich auf LaTeX beziehen. Ich verwende keine Antivirensoftware oder Tech Tool Pro, aber ich verwende Adobe CS. Ich nehme an, wenn ich den Absturz des Kernels direkt ansprechen wollte, würde ich einen separaten Beitrag mit einem aktuellen Absturzbericht erstellen (den ich in letzter Zeit noch nicht gespeichert habe).
Theoretiker

1
@theorist Mir scheint, dass ein Teil der Antwort, die Sie von Apple erhalten haben (das heißt, es sieht so aus, als ob ich meinen Computer nicht oft genug neu gestartet habe ), ein Versuch war, sich mit dem Symptom und nicht mit der Ursache zu befassen. Die Ratschläge, die Moneyt und andere hier geben, sind nützlich, aber ich schlage vor, Sie sollten eine Frage speziell zu Ihren Safari-CPU-Problemen stellen (und möglicherweise eine andere Frage zu Ihren Kernel-Panics, nachdem das nächste passiert - obwohl die beiden möglicherweise zusammenhängen). Auf diese Weise kann die Community versuchen, Ihnen spezifischer zu helfen, da wir keine Ahnung haben, was Sie noch versucht haben (außer AppleCare anzurufen).
Monomeeth

15

Ich bin mir nicht sicher, mit wem Sie bei Apple gesprochen haben, aber Macs erfordern, wie alle Unix-basierten Geräte, keine routinemäßigen Neustarts, mit Ausnahme bestimmter Updates.

Der Kernel ist das Herz des Betriebssystems. Es kann nur einen ™ geben. Es sollte hier nichts mit deinem Problem zu tun haben. Wenn Safari die CPU überlastet, würde ich zuerst versuchen, die Caches zu löschen. Klicken Sie in Safari auf das Safari-Menü, wählen Sie Einstellungen, wählen Sie die Registerkarte Datenschutz, wählen Sie "Websitedaten verwalten ..." und anschließend "Alle entfernen". Beachten Sie, dass Sie sich bei einigen Websites erneut anmelden müssen, aber nichts Entscheidendes verlieren.


Ich habe die "Alle entfernen" ein paar Mal durchgeführt, ohne Erfolg. Ich werde sehen, ob ich den leitenden Berater bitten kann, mir den genauen Wortlaut vom Apple-Ingenieur zu senden.
Theoretiker

& danke, ich habe meinen Beitrag bearbeitet, um den Plural "Kernel"
Theoretiker
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.