¿Desventajas del uso de precarga? ¿Por qué no está incluido por defecto?

96

Me gustaría saber cuáles son los inconvenientes de usar preload ? Si no hubiera inconvenientes, preload estaría habilitado de manera predeterminada, así que supongo que hay algunos.

Está bien, necesitas un poco más de RAM, pero la mayoría de la gente tiene mucha más memoria RAM que Ubuntu, entonces, ¿cuáles son las desventajas de usar preload ?

    
pregunta Paradiesstaub 06.03.2012 - 00:06

5 respuestas

56

En pocas palabras, Preload no es para todos. Es genial si abre aplicaciones o bibliotecas mucho. Es dañino si carga aplicaciones o bibliotecas solo ocasionalmente. Usaré dos ejemplos de mi uso real (y sí, uso precarga).

Primero, Google Chrome. Ahora, un navegador se abre solo una vez por arranque, tal vez dos veces (para mí, soy un desarrollador web). Chrome y sus bibliotecas relacionadas permanecen en la memoria porque siempre lo estoy usando. Incluso cuando cierro todas las ventanas de Chrome todavía está en el fondo haciendo lo suyo. Por lo tanto, todo el ram dedicado a mantener una copia de precarga de Chrome es un desperdicio total. Nunca (o raramente) está descargado. Para el usuario promedio, esto es cierto para una gran cantidad de aplicaciones. Un usuario de Office casi siempre tendrá abierta su aplicación de correo electrónico. Por lo tanto, los pequeños ahorros en el tiempo de inicio se desperdician por completo, ya que solo abren su aplicación de correo electrónico una vez al día y la dejan abierta.

El segundo ejemplo es rake. Como desarrollador de ruby ​​que cree en las pruebas corro un TON de rake. el rake se ejecuta, se ejecuta durante un par de segundos, luego salen los minutos. La precarga me ayuda a acelerar mi trabajo diario porque carga el rake y las librerías necesarias (que pueden ser muy extensas) antes de tiempo. Entonces, hay muchos comienzos y paradas en el funcionamiento del rastrillo. El ariete adicional utilizado para acelerar los 400 o 500 lanzamientos de rastrillo en el lapso de algunas horas vale totalmente la pena.

Por lo tanto, la razón por la que no está habilitado de manera predeterminada es porque su capacidad para mejorar realmente el rendimiento se basa principalmente en cómo utiliza su sistema. Para algunas personas será negativo y para otros será positivo.

Por último, al tener la precarga activada, incluso si no la está usando, consume memoria RAM. Por lo tanto, si no está ejecutando aplicaciones con frecuencia, en realidad podría hacer que todo el sistema sea un poco más lento al no tener ese RAM disponible para otros tipos de almacenamiento en caché. Recuerda, incluso si tienes 32 gigas de ram, Linux intentará usar todo lo que pueda para almacenar en caché los datos y agilizar tu interacción. Al usar la precarga, reduces esa memoria gratuita. Aunque solo sea un poquito, los 2 segundos que ahorró al iniciar Chrome 1 podrían costarle 60 segundos durante el mes en que se ejecuta.

    
respondido por el coteyr 02.05.2013 - 12:04
18
  

Pregunta hecha por Saeed Zarinfam más bountier el 5 de septiembre de 2012:

     

Hola a todos, quiero saber, ¿es un mito? ¿ [preload] realmente mejora mi rendimiento? ¿Cuáles son los inconvenientes de usarlo? Tengo una computadora portátil con esta especificación (CPU Core i5, 4GB RAM, 128GB SSD Duro). Muchas gracias.

  • No hay una necesidad real de precargar si tienes un SSD
    • Esto se debe a que los SSD proporcionan mucho tiempos de acceso aleatorio más rápidos que los discos duros, por lo que "precargar" binarios / dependencias en la memoria es un desperdicio, IMO
    • La desventaja básica entonces es que preload está "usando" memoria adicional sin proporcionar un beneficio tangible.
respondido por el ish 08.09.2012 - 12:49
10
  

Precarga es un "daemon adaptativo de readahead" que se ejecuta en segundo plano   de su sistema, y ​​observa qué programas usa con más frecuencia, el almacenamiento en caché   ellos para acelerar el tiempo de carga de la aplicación. Al usar Preload,   puede poner en buen uso la memoria RAM no utilizada y mejorar el rendimiento general   de su sistema de escritorio.

     

No espere ver un cambio drástico en el rendimiento   inmediatamente. Además, si solo está abriendo / cerrando aplicaciones   repetitivamente, su computadora almacenará esos archivos en caché de todos modos   (esto se llama carga "cálida"), por lo que no verá ninguna diferencia en   velocidad allí. Sin embargo, verá una mejora en la velocidad si, por   ejemplo, utiliza un programa intermitentemente; estos programas comenzarán   más rápido que sin Precarga.

     

La precarga puede proporcionar una gran mejora en el tiempo de inicio de la aplicación;   ya que la mayoría de las máquinas modernas tienen una gran cantidad de memoria de sobra,   La precarga le da un buen uso a esta memoria RAM. 1

Ahora que se dice, parece que la precarga es una gran utilidad, y podría ser.

Creo que la razón por la que no está precargado con el sistema operativo es porque el usuario debe saber exactamente qué está haciendo y tener suficiente experiencia para poder usarlo, y el sistema debe tener suficiente memoria RAM.

En un aspecto más técnico, la precarga funciona moviendo los datos del disco duro a la RAM, lo que hace que la mayoría de los discos duros pasen al modo de reposo si no se usan, y luego tienen que hacer una copia de seguridad cuando sea necesario. Así que girar hacia arriba / abajo de la unidad causaría el conteo de Ciclo de carga / descarga y aumentaría el tiempo de encendido, y eso acortará la vida útil de la unidad.

  

Diseñamos e implementamos precarga, una adaptación basada en Markov   esquema de captación previa que funciona en predicciones a nivel de aplicación.   Además, la precarga se implementa en el espacio de usuario y no cambia   el entorno de tiempo de ejecución de la aplicación en cualquier sentido. Este es el primero   Trabajar experimentando con la captación previa del sistema de archivos en este nivel en la medida de lo posible   lo sabemos.

     

Nuestros resultados experimentales muestran mejoras prometedoras en la aplicación   tiempo de puesta en marcha en comparación con los cachés fríos, y una tasa de acierto decente en comparación   a un ingenioso algoritmo de predicción.

     

Sin embargo, estar en el espacio de usuario presenta grandes obstáculos para hacer   precargar una solución competitiva al problema del tiempo de inicio. En   en particular, no tener información completa sobre las E / S de las aplicaciones   solicitudes, y la falta de canales de comunicación fuertes con el   el subsistema de caché de página degrada la eficacia de la precarga drásticamente,   especialmente bajo condiciones de poca memoria.

     

Otro problema inherente con el diseño de precarga es la alta varianza y   baja con fi anza de predicción causada por la correlación relativamente libre de   puesta en marcha de aplicaciones. Mientras construimos con éxito un modelo para rastrear   correlaciones de aplicaciones, el hecho de que los lanzamientos de aplicaciones son muy   eventos raros en comparación con la escala de tiempo en que trabajan las computadoras, una   El esquema de captación previa a nivel de aplicación está condenado a consumir enormes   la recuperación previa de la memoria prácticamente en infinitos períodos de tiempo. Esta   la memoria se puede usar para mejorar el comportamiento de caché a corto plazo.

     

Finalmente, presentamos un conjunto de recomendaciones para el sistema   desarrolladores sobre cómo mejorar el tiempo de arranque, el tiempo de inicio de sesión y la aplicación   tiempo de inicio sin recurrir a un captador previo integrado con   subsistema de caché en el kernel. Por supuesto, un prefetcher basado en archivos en   el kernel puede mejorar además de eso. 2

1 Fuente: techthrob

2 Fuente: Precarga: un daemon Adaptive Prefetching por Behdad Esfahbod - Una tesis presentada de conformidad con los requisitos para el grado de Maestría en Ciencias - Departamento de Graduados de Ciencias de la Computación - Universidad de Toronto Copyright (c ) 2006 por Behdad Esfahbod.

    
respondido por el Mitch 28.04.2013 - 11:26
8

Inconvenientes? ¡NO HAY NINGUNO!

Aumento de las aplicaciones de apertura de rendimiento por parte del usuario. Lo he usado durante años en mis sistemas, así como "leer por adelantado" y no tengo problemas. La página de errores para la precarga no sugiere ningún inconveniente .

Precarga supervisa las aplicaciones que los usuarios ejecutan, y mediante el análisis de estos datos, predice qué aplicaciones usuarios podrían ejecutar y busca esos binarios y sus dependencias en la memoria para tiempos de inicio más rápidos .

Aumenta ligeramente el tiempo de inicio, sin embargo, el tiempo de recuperación de la velocidad de las aplicaciones supera con creces este pequeño problema.

consulte artículo

Si constantemente usa aplicaciones comunes como Firefox o Gimp , notará tiempos de carga muy mejorados. Preload es un daemon que se ejecuta de manera discreta en segundo plano y no interrumpirá su escritorio de ninguna manera. Los usuarios de Ubuntu pueden instalar precarga con:

sudo apt-get install preload

Resultados:

ref

    
respondido por el Ringtail 06.03.2012 - 00:16
2

Eche un vistazo a este documento de Lorenzo Colitti sobre cómo analizar y mejorar el tiempo de inicio de GNOME .

Coletti no es el autor de preload . En su documento, hace referencia a la página del proyecto de precarga en Sourceforge.net .

Básicamente, hay 2 razones.

  1. Fue un desarrollo de GNOME. GNOME se hizo impopular, y como afirma Coletti en este documento, los desarrolladores de otros entornos vieron este trabajo como el enfoque equivocado.

  2. preload está dirigido al rendimiento de un solo usuario, no a multiusuario. Por lo tanto, el alcance del proyecto no coincide con el alcance de todas las distribuciones.

Lee las páginas 9 y amp; 10 del documento de Colitti.

    
respondido por el j0h 04.05.2013 - 02:21

Lea otras preguntas en las etiquetas