¿Liberando el espacio del disco acelera su computadora?



Esta es una traducción de la respuesta a la pregunta sobre el efecto del espacio de disco libre en el rendimiento del sitio superuser.com.

Del autor:Creo que accidentalmente escribí todo un libro. Vierta una taza de café antes de leer.

¿Liberando el espacio del disco acelera su computadora? Liberar el espacio del disco no acelera un ordenador, al menos no por sí mismo. Este es un mito muy común. Este mito es tan común porque llenar su disco duro suele ocurrir al mismo tiempo que otros procesos que tradicionalmente pueden frenar su computadora. El rendimiento de una SSD puede disminuir a medida que se llena, pero este es un problema relativamente nuevo inherente a una SSD, y, de hecho, invisible para los usuarios ordinarios. En general, la falta de espacio libre es sólo un trapo rojo para el toro.

Nota del autor: “Slowdown” es un término con una interpretación muy amplia. Lo uso aquí en relación con los procesos I/O (es decir, si su computadora es puramente computacional, los contenidos del disco no tienen influencia) o procesos relacionados con procesadores y competidores que consumen muchos recursos de CPU (es decir, el análisis antivirus de muchos archivos).
Por ejemplo, fenómenos tales como:
  • fragmentación de archivos. La fragmentación de archivos es un problema, pero la falta de espacio, mientras que uno de muchos factores, no es la única causa de la fragmentación. Aspectos destacados:
    ** La fragmentación afecta a las SSD porque las operaciones de lectura secuencial suelen ser mucho más rápidas que el acceso aleatorio, aunque las SSD no tienen las mismas limitaciones que los dispositivos mecánicos (aunque la ausencia de fragmentación no garantiza un acceso consistente debido a la distribución del desgaste y procesos similares). Sin embargo, en casi cualquier caso de uso típico, esto no es un problema. Las diferencias en el rendimiento de SSD asociadas con la fragmentación generalmente no son notables para los procesos de lanzamiento de aplicaciones, arranque de un ordenador y otros.
    • La probabilidad de fragmentación de archivos no está relacionada con la cantidad de espacio libre de disco. Depende del tamaño del bloque continuo más grande del espacio libre en el disco (es decir, “gaps” del espacio libre), que se limita desde arriba por el volumen del espacio libre. Otra dependencia es el método utilizado por el sistema de archivos al colocar archivos (más sobre esto más adelante).
      Por ejemplo: Si el disco ocupa el 95% del espacio y todo lo que está representado libremente por un bloque continuo, el nuevo archivo se fragmentará con una probabilidad de 0% (a menos, por supuesto, un sistema de archivos normal fragmenta los archivos específicamente – aprox. autor) (también la probabilidad de fragmentación del archivo expandible no depende de la cantidad de espacio libre). Por otro lado, un disco lleno de 5% de datos distribuidos uniformemente sobre él tiene una probabilidad muy alta de fragmentación.
    • Tenga en cuenta que la fragmentación de archivo afecta el rendimiento sólo cuando estos archivos se acceden. Por ejemplo: Usted tiene un disco bueno, defragmentado con un montón de “gaps” gratis en él. Situación típica. Está funcionando bien. Sin embargo, en algún momento llegas a una situación donde no quedan bloques libres más grandes. Usted descarga una gran película, y el archivo está muy fragmentado. No ralentizará tu computadora. Tus archivos de aplicación y otros que estaban perfectamente bien no se fragmentarán instantáneamente. Una película puede tomar mucho más tiempo para cargar (aunque los bitrates típicos de la película son mucho más bajos que las velocidades de lectura del disco duro que es probable que no se note), y puede afectar el rendimiento de I/O mientras la película está cargando, pero nada más cambiará.
    • Aunque la fragmentación es un problema, a menudo el problema se compensa con el caché y el amortiguamiento por el sistema operativo y el hardware. La escritura pospuesta, lectura preventiva, etc. ayudan a resolver los problemas causados por la fragmentación. En general, no nota nada hasta que el nivel de fragmentación sea demasiado alto (incluso me atrevo a decir que mientras su archivo de paging no esté fragmentado, usted no notará nada).
  • Otro ejemplo es Search Engine Indexing. Digamos que tiene habilitado la indexación automática y el sistema operativo no lo implementa muy bien. A medida que guardas más y más archivos indexables en tu computadora (documentos, etc.), la indexación toma más y más tiempo y puede comenzar a tener un efecto notable en el rendimiento observado de la computadora en el curso de su trabajo, comiendo tanto tiempo I/O como CPU. Esto no está relacionado con el espacio libre, sino que está relacionado con la cantidad de datos que se están indexando. Sin embargo, el agotamiento del espacio de disco ocurre al mismo tiempo que ahorra más contenido, tantos establecen la relación equivocada.
  • Los antivirus. Esto es muy similar al ejemplo del índice de búsqueda. Digamos que tiene un antivirus que realiza análisis de fondo de su unidad. Usted tiene más y más archivos para escanear, y la búsqueda comienza a consumir más y más I/O y recursos de procesador, posiblemente interfiriendo con su trabajo. De nuevo, el problema es la cantidad de contenido que se está escaneando. Más contenido significa menos espacio, pero la falta de espacio libre es la causa del problema.
  • Programas establecidos. Digamos que tiene un montón de programas funcionando cuando su computadora arranca, lo que aumenta el tiempo de arranque. Esta desaceleración sucede porque muchos programas están cargados. Al mismo tiempo, los programas instalados ocupan espacio en el disco. Por lo tanto, el volumen del espacio libre disminuye simultáneamente con la desaceleración, lo que puede llevar a conclusiones incorrectas.
  • Hay muchos otros ejemplos similares que dan la ilusión de vincular el agotamiento del espacio de disco y el rendimiento reducido.

Lo anterior ilustra otra razón para la prevalencia de este mito: aunque el agotamiento del espacio libre no es directamente la causa de la desaceleración, la desinstalación de varias aplicaciones, la eliminación de contenido indexado y escaneado, etc. a veces (pero no siempre, tales casos están fuera del alcance de este texto) conduce a una mayor productividad por razones no relacionadas con la cantidad de espacio libre. El espacio de disco se libera naturalmente. Hay una conexión falsa entre “más espacio libre” y “computadora rápida. ”

Mira.: Si su computadora es lenta debido al gran número de programas instalados, etc., y clona exactamente su disco duro a un disco duro más grande, y luego expande las particiones para obtener más espacio libre, el equipo no se conseguirá más rápido a mano. Los mismos programas se descargan, los mismos archivos se fragmentan de la misma manera, el mismo servicio de indexación funciona, nada cambia a pesar del aumento del espacio libre.

¿Esto tiene algo que ver con encontrar un lugar para colocar archivos?
No, no lo es. Hay dos puntos importantes aquí:
  1. Su disco duro no está buscando un lugar para colocar archivos.. El disco duro es estúpido. No es nada. Este es un gran bloque de almacenamiento manejable que obedece ciegamente al sistema operativo en términos de colocación. Las unidades modernas están equipadas con sofisticados mecanismos de caché y amortiguación diseñados para predecir las consultas del sistema operativo basadas en la experiencia humana (algunas unidades incluso saben sobre sistemas de archivos). Pero esencialmente, el disco debe ser considerado como un gran estúpido ladrillo de almacenamiento de datos, a veces con características de mejora de rendimiento.
  2. Su sistema operativo tampoco está buscando una ubicación. No hay "busca".. Se ha hecho un gran esfuerzo para abordar esta cuestión, ya que es fundamental para archivar el desempeño del sistema. Los datos residen en su unidad definida por el sistema de archivos, como FAT32 (antiguos ordenadores DOS y Windows), NTFS (nuevos sistemas Windows), HFS+ (Mac), ext4 (algunos sistemas Linux), y muchos otros. Incluso el concepto de “file” o “directorios” es sólo el fruto de un sistema de archivos típico: los discos duros no saben acerca de las bestias como “files”. Los detalles están más allá de este texto. Esencialmente, sin embargo, todos los sistemas de archivos comunes contienen una manera de rastrear el espacio libre en el disco, por lo que no es necesario buscar espacio libre bajo circunstancias normales (es decir, en el estado normal del sistema de archivos). Ejemplos:

    • NTFS contiene una tabla de archivos maestro que incluye archivos especiales (por ejemplo, $Bitmap) y muchos metadatos que describen el disco. Esencialmente, rastrea los bloques libres posteriores para que los archivos puedan ser escritos en la unidad sin tener que escanear la unidad cada vez.
    • Otro ejemplo, ext4 tiene una entidad llamada “alcantador de bitmap”, una mejora sobre ext2 y ext3 que ayuda a determinar directamente la posición de bloques libres, en lugar de escanear la lista de bloques libres. Ext4 también admite la “distribución retardada”, esencialmente datos amortiguadores por el sistema operativo en RAM antes de escribir en disco, con el fin de tomar la mejor decisión de colocación para reducir la fragmentación.
    • Muchos otros ejemplos.

¿Tal vez se trata de mover archivos de ida y vuelta para asignar espacio ininterrumpido lo suficiente tiempo mientras ahorra?
No, eso no está pasando. Al menos no en ningún sistema de archivos que conozco. Los archivos están fragmentados.

El proceso de mover archivos de ida y vuelta para asignar un largo bloque continuo se llama desfragmentación. Esto no sucede cuando se escriben archivos. Esto sucede cuando ejecuta un programa de defragmentación de disco. al menos en nuevos sistemas Windows, esto sucede automáticamente en un horario, pero escribir un archivo nunca es una razón para iniciar este proceso.

La capacidad de evitar tener que mover archivos de esta manera es clave para el rendimiento del sistema de archivos, y la razón por la que la fragmentación ocurre y la desfragmentación es un paso independiente.

¿Cuánto espacio libre se debe dejar en el disco?
Esta es una pregunta más difícil, y ya he escrito tanto.

Las reglas básicas que se pueden seguir:
  • Para todos los tipos de disco:
    • Lo más importante es dejar suficiente espacio para utilizar su computadora de manera efectiva. Si se queda sin espacio, es posible que necesite un disco más grande.
    • Muchas utilidades de desfragmentación de disco requieren un mínimo de espacio libre (parece que viene con Windows en el peor caso requiere un 15% de espacio libre) para su trabajo. Utilizan este espacio para almacenar temporalmente archivos fragmentados mientras que otros objetos se mueven.
    • Deja espacio para otras funciones del sistema operativo. Por ejemplo, si su computadora no tiene una gran cantidad de RAM física, y la memoria virtual está habilitada con un archivo de paging de volumen dinámico, debe dejar suficiente espacio libre para acomodar el archivo de paging de tamaño máximo. Si tiene un portátil que envía a la hibernación, necesitará suficiente espacio libre para guardar el archivo del estado de hibernación. Son cosas.
  • En cuanto a la SSD:
    • Para una fiabilidad óptima (y en menor medida el rendimiento), debe haber un espacio libre en la SSD, que, sin entrar en detalles, se utiliza para distribuir uniformemente datos en el disco para evitar la escritura constante en el mismo lugar (que conduce al agotamiento de los recursos). El concepto de espacio reservado se llama over-provisioning. Esto es importante, pero muchos SSD ya tienen espacio obligatorio de respaldo. Es decir, los discos a menudo tienen varias decenas de gigabytes más espacio de lo que muestran el sistema operativo. Las unidades más baratas a menudo requieren que deje parte del espacio sin marcar. Pero cuando se trabaja con discos que han forzado la redundancia, esto no es necesario. Es importante señalar que A menudo se toma espacio adicional sólo desde zonas no marcadas.. Por lo tanto, no siempre funcionará cuando su partición ocupa todo el disco, y usted deja un poco de espacio libre en él. Relé manual requiere que usted haga su partición más pequeña que el tamaño del disco. Compruebe el manual de usuario de su SSD. TRIM y recolección de basura y cosas así también tienen un impacto, pero están más allá del alcance de este texto.

Personalmente, generalmente compro un nuevo disco más grande cuando tengo alrededor del 20 al 25 por ciento espacio libre. No se trata del rendimiento, es sólo que cuando llego a ese punto - significa que el lugar va a salir pronto, lo que significa que es el momento de comprar un nuevo disco.

Más importante que el seguimiento de puntos es asegurarse de que la desfragmentación planeada está en donde debe estar (no en un SSD), por lo que nunca llega al punto donde es suficientemente grande para tener un impacto notable.

Afterword
Hay algo más que mencionar. Una de las otras respuestas a esta pregunta menciona que el modo SATA medio dúplex hace imposible leer y escribir al mismo tiempo. Si bien esto es cierto, es una fuerte simplificación y en gran medida no está relacionada con los temas de rendimiento discutidos aquí. En realidad, esto simplemente significa que los datos no se pueden transmitir a través de un alambre en dos direcciones al mismo tiempo. Sin embargo, la especificación SATA incluye pequeños tamaños máximos de bloques (Pienso 8kB por bloque cuando se transmite sobre el alambre), colas de operaciones de lectura y escritura, etc., y nada impide escribir datos en un búfer mientras se realizan operaciones de lectura y superposición similares.

Cualquier bloqueo que pueda ocurrir implicará competencia por recursos físicos, que generalmente se compensa con grandes volúmenes de caché. El modo SATA dúplex no tiene nada que ver con este caso.

Fuente: habrahabr.ru/post/256231/