Durante mucho tiempo me pregunté si las distribuciones de Linux basadas en código fuente, como Gentoo o Funtoo, están "destruyendo" su sistema más rápido que las binarias (como Fedora o Debian). Me refiero a la degradación de la CPU y del disco duro.
Por supuesto, cuando actualiza su sistema, tiene que compilar todo desde el código fuente, por lo que lleva más tiempo y su CPU se utiliza en condiciones difíciles (es más cálida y está más cargada).
Estos sistemas compilan cientos de paquetes semanalmente, entonces, ¿realmente importa? ¿Un sistema de este tipo se degrada más rápido que los basados en binarios?
Respuesta1
El hardware de la computadora no se degrada más rápidamente cuando se usa, asumiendoenfriamiento adecuado.Generalmente, lo que mata los dispositivos electrónicos es el calor, y el calor puede mitigarse con una refrigeración suficiente; En las computadoras personales modernas, esto generalmente significa enfriamiento activo mediante aire forzado, pero existen otras posibilidades (incluida la refrigeración por agua y, en sistemas de baja potencia, refrigeración estrictamente pasiva/convectiva).¿Qué fallos de funcionamiento hacen que los ordenadores viejos se ralenticen y colapsen?y¿Es posible que un enrutador "se estropee" con el tiempo?toca esto.
Hayuna excepción principal a esto,y ese es el almacenamiento basado en flash, como el que se usa en los SSD, que tiene un número limitado de ciclos de escritura antes de que cada celda flash se desgaste. Sin embargo, los SSD modernos hacen todo lo posible para mitigar esto y, a pesar de lo que la gente pueda decir, usted seleccionó para la carga de trabajo prevista.en la mayoría de las cargas de trabajo de clientes y servidores son lo suficientemente duraderos, más aún desde la perspectiva del desgaste flash. Esto incluye la compilación de software, que si bien tiende a crear una gran cantidad de archivos (que implican muchas escrituras pequeñas), el sistema también puede almacenarlo en caché en gran medida y, por lo tanto, no necesariamente implica tantas escrituras en un almacenamiento estable. ComoSerge señaló, como alternativa, puede considerar ejecutar la compilación en un sistema de archivos tipo tmpfs, que normalmente usa RAM para almacenamiento pero recurrirá al espacio de intercambio si no hay suficiente RAM disponible. También es probable que esto acelere la compilación, ya que, especialmente para proyectos grandes, es más probable que la compilación esté limitada por IOPS que por el rendimiento de E/S o por la CPU; e incluso si la CPU está limitada, los IOPS más altos que se pueden alcanzar mediante el uso de RAM para almacenar archivos de código fuente no empeorarán significativamente la situación.
El principal asesino de la electrónica, además del calor, son las impurezas de voltaje, que son un factor de la fuente de alimentación y en gran medida no tienen relación con las tareas que realiza en la computadora. Con una fuente de alimentación con la clasificación adecuada (lo cual es principalmente una preocupación si usted mismo construye una computadora a partir de piezas) y aparte de las impurezas de entrada de CA (que afectarán cualquier componente electrónico), esto para todos los efectos no será un problema.
Respuesta2
Si realmente ajusta todos los paquetes deshabilitando funciones innecesarias en el momento de la compilación o tiene algún clon específico del procesador x86 que requiere algunas optimizaciones específicas del compilador, entonces su sistema se ejecutará incluso más rápido que el mismo sistema instalado desde una distribución binaria. En cuanto a la degradación del disco duro, puede usar un volumen separado para guardar todos los archivos intermedios de dichas reconstrucciones que simplemente formatea cada vez que se completa la actualización. La otra opción es realizar toda esta compilación en un dispositivo tmpfs que en realidad esté respaldado por la memoria y los archivos/dispositivos de intercambio, de modo que su contenido se borre de todos modos en cada reinicio del sistema.