Ich habe mich lange gefragt, ob quellbasierte Linux-Distributionen wie Gentoo oder Funtoo Ihr System schneller „zerstören“ als binäre (wie Fedora oder Debian). Ich spreche von CPU- und Festplattenleistungsverlust.
Wenn Sie Ihr System aktualisieren, muss es natürlich alles aus dem Quellcode kompilieren, sodass es länger dauert und Ihre CPU unter harten Bedingungen beansprucht wird (sie ist wärmer und stärker belastet).
Solche Systeme kompilieren wöchentlich Hunderte von Paketen. Ist das also wirklich wichtig? Verschlechtert sich ein solches System schneller als binärbasierte Systeme?
Antwort1
Computerhardware nutzt sich nicht schneller ab, wenn sie benutzt wird, vorausgesetztausreichende Kühlung.Im Allgemeinen ist es die Hitze, die elektronische Geräte zerstört, und Hitze kann durch ausreichende Kühlung gemildert werden. Bei modernen Personalcomputern bedeutet dies normalerweise eine aktive Kühlung durch Druckluft, es gibt jedoch auch andere Möglichkeiten (einschließlich Wasserkühlung und bei Systemen mit geringer Leistung eine rein passive/konvektive Kühlung).Welche Störungen führen dazu, dass alte Computer langsamer werden und abstürzen?UndKann ein Router mit der Zeit „kaputtgehen“?Gehen Sie darauf ein.
Es gibteine wesentliche Ausnahme hiervon,und das ist Flash-basierter Speicher, wie er in SSDs verwendet wird, der eine begrenzte Anzahl von Schreibzyklen hat, bevor jede Flash-Zelle verschleißt. Moderne SSDs unternehmen jedoch große Anstrengungen, um dies zu mildern, und trotz allem, was die Leute Ihnen sagen, werden sie für die beabsichtigte Arbeitslast ausgewähltin den meisten Client- und Server-Workloads sind ausreichend robust, noch mehr aus der Perspektive des Flash-Verschleißes. Dazu gehört das Kompilieren von Software, die zwar dazu neigt, eine große Anzahl von Dateien zu erstellen (mit vielen kleinen Schreibvorgängen), aber auch stark vom System zwischengespeichert werden kann und daher nicht unbedingt so viele Schreibvorgänge auf dem stabilen Speicher impliziert.Serge wies darauf hinAlternativ können Sie den Build auf einem Dateisystem vom Typ tmpfs ausführen, das normalerweise RAM zur Speicherung verwendet, aber auf Swap-Speicher zurückgreift, wenn nicht genügend RAM verfügbar ist. Dies beschleunigt wahrscheinlich auch die Kompilierung, da die Kompilierung insbesondere bei großen Projekten eher durch IOPS als durch I/O-Durchsatz oder CPU eingeschränkt ist. Und selbst wenn die CPU eingeschränkt ist, wird die Situation durch die höheren IOPS, die durch die Verwendung von RAM zum Speichern von Quellcodedateien erreicht werden können, nicht wesentlich verschlechtert.
Der größte Elektronikkiller neben der Hitze sind Spannungsverunreinigungen, die ein Faktor der Stromversorgung sind und weitgehend unabhängig davon sind, welche Aufgaben Sie am Computer ausführen. Mit einem richtig dimensionierten Netzteil (was vor allem dann ein Problem ist, wenn Sie Ihren Computer selbst aus Einzelteilen bauen) und abgesehen von Eingangswechselstromverunreinigungen (die alle elektronischen Teile beeinträchtigen) ist dies im Grunde kein Problem.
Antwort2
Wenn Sie wirklich alle Pakete optimieren, indem Sie zur Kompilierzeit unnötige Funktionen deaktivieren, oder wenn Sie einen bestimmten Klon eines x86-Prozessors haben, der bestimmte Optimierungen vom Compiler erfordert, läuft Ihr System sogar noch schneller als dasselbe System, das von einer Binärdistribution installiert wurde. Was die Verschlechterung der Festplatte betrifft, können Sie ein separates Volume verwenden, um alle Ihre Zwischendateien solcher Neuaufbauten aufzubewahren, das Sie nach Abschluss des Updates einfach formatieren. Eine andere Möglichkeit besteht darin, all diese Neuaufbauten auf einem tmpfs-Gerät durchzuführen, das tatsächlich durch den Speicher und die Auslagerungsdateien/-geräte gesichert wird, sodass sein Inhalt bei jedem Neustart des Systems ohnehin gelöscht wird.