¿Por Qué Vaciado Speed ​​Disk Espacio Up Computadoras?

disco-espacio-velocidad-up-ordenadores-00 qué-hacer-vaciado-
Al aprender más acerca de las computadoras y cómo funcionan, ocasionalmente correr a través de algo que no parece tener sentido. Con esto en mente, no vaciar el espacio en disco realmente acelerar las computadoras para arriba? De hoy superusuario Q & A anuncio con la respuesta a la pregunta de un lector perplejo.
Pregunta y respuesta La sesión de hoy nos llega por cortesía de superusuario, una subdivisión de Stack Exchange, un grupo impulsado por la comunidad de Q & A sitios web.
Imagen cortesía de nchenga (Flickr) .

La Pregunta

Lector de superusuario Remi.b quiere saber por qué vaciar el espacio en disco parece acelerar un ordenador:
He estado viendo un montón de videos y ahora entiendo cómo las computadoras funcionan un poco mejor. Entiendo lo que la memoria RAM es, sobre la memoria volátil y no volátil, y el proceso de intercambio. También entiendo por qué el aumento de memoria RAM acelera un ordenador.
Lo que no entiendo es por qué la limpieza de espacio en disco parece acelerar una computadora para arriba. ¿Realmente acelerar una computadora para arriba? Si es así, ¿por qué hacerlo?
¿Tiene algo que ver con la búsqueda de espacio de memoria para guardar cosas o mover cosas alrededor para asegurarse un espacio continuo el tiempo suficiente para salvar algo? ¿Cuánto espacio vacío debo dejar libre en el disco duro?
¿Por qué no vaciar el espacio en disco parecen acelerar una computadora?

La Respuesta

Colaborador superusuario Jason C tiene la respuesta para nosotros:
"¿Por qué la velocidad de vaciado espacio en disco las computadoras?"
No hace, al menos no en su propio. Esto es un mito muy común. La razón de que es un mito común es que llenar su disco duro suele ocurrir al mismo tiempo que otras cosas que tradicionalmente podría ralentizar el equipo (A). Rendimiento SSD hace tienden a degradarse ya que se llenan, pero este es un tema relativamente nuevo, único para los SSD, y no es realmente notable para los usuarios ocasionales. Por lo general, poco espacio en disco libre es sólo una cortina de humo.
Por ejemplo, cosas como:
1. La fragmentación de archivos. La fragmentación de archivos es un problema (B) , pero la falta de espacio libre, mientras que, sin duda uno de los muchos factores que contribuyen, no es la única causa de la misma.Algunos puntos claves aquí:
  • Las posibilidades de que un archivo siendo fragmentada están norelacionados con la cantidad de espacio libre en el disco. Se relacionan con el tamaño del mayor bloque contiguo de espacio libre en la unidad (es decir, "agujeros" de espacio libre), que la cantidad de espacio libre que ocurre poner un límite superior . Ellos también están relacionados con la forma en el sistema de archivos se encarga de asignación de archivos ( más abajo ). Considere: Una unidad que es el 95 por ciento completo con todo el espacio libre en un bloque contiguo solo tiene cero por ciento de posibilidades de fragmentar un archivo nuevo(C) (y la posibilidad de fragmentar un archivo adjunto es independiente del espacio libre). Una unidad que es cinco por ciento completo, pero con los datos distribuidos de manera uniforme sobre la unidad tiene una muy alta probabilidad de fragmentación.
  • Tenga en cuenta que la fragmentación de archivos sólo afecta el rendimiento cuando se accede a los archivos fragmentados . Considere:Usted tiene un bonito camino, desfragmentado que todavía tiene un montón de "huecos" libres en el mismo. Un escenario común. Todo está funcionando sin problemas. Eventualmente, sin embargo, se llega a un punto en que ya no hay más grandes bloques de espacio libre restante.Usted descarga una gran película, el archivo termina siendo severamente fragmentado. Esto no va a ralentizar el equipo . Todos los archivos de la aplicación y de forma que antes eran multa no se convertirá de repente fragmentado. Esto puede hacer que la película tarda más en cargar (aunque las tasas de bits de película típica son tan bajos en comparación con las tasas de unidad lee discos que lo más probable es ser imperceptible), y que pueden afectar el desempeño con destino a S / mientras la película se está cargando, pero aparte de eso, nada cambia.
  • Mientras que la fragmentación de archivos es sin duda un problema, muchas veces los efectos son mitigados por el sistema operativo y el nivel de hardware búfer y el almacenamiento en caché. Escrituras retrasadas, lectura anticipada, estrategias como la prefetcher en Windows, etc., todos ayudan a reducir los efectos de la fragmentación.Por lo general, no en realidad experimenta impacto significativo hasta que la fragmentación se vuelve severa (incluso me atrevería a decir que el tiempo que su archivo de intercambio no está fragmentada, es probable que nunca notar).
2. Buscar la indexación es otro ejemplo. Digamos que usted tiene la indexación automática de encendido y un sistema operativo que no maneja esta gracia. Como a ahorrar más y más indexable contenido al ordenador (documentos y tal), la indexación puede tardar más tiempo y más tiempo y puede empezar a tener un efecto sobre la velocidad percibida de su ordenador mientras se está ejecutando, tanto en I / O y uso de la CPU .Esto no está relacionado con el espacio libre, que está relacionada con la cantidad de contenido indexable que tiene. Sin embargo, quedarse sin espacio libre va de la mano con el almacenamiento de más contenido, por lo tanto, una conexión falsa se ​​dibuja.
3. El software anti-virus (similar a la búsqueda de indexación ejemplo).Digamos que usted tiene el software anti-virus creado para hacer la exploración de fondo de la unidad. Como usted tiene más y más susceptible de ser analizada contenido, la búsqueda lleva más recursos de E / S y CPU, posiblemente interferir con su trabajo. Una vez más, esto está relacionado con la cantidad de contenido susceptible de ser analizada que tiene. Más contenido menudo es igual a menos espacio libre, pero la falta de espacio libre no es la causa.
4. Software instalado. Digamos que usted tiene una gran cantidad de software instalado que se carga cuando el equipo se inicia, lo que ralentiza los tiempos de puesta en marcha. Esta desaceleración se debe a que una gran cantidad de software se están cargando. Sin embargo, el software instalado ocupa espacio en el disco duro. Por lo tanto, el espacio libre de disco duro disminuye al mismo tiempo que sucede esto, y de nuevo una conexión falsa se ​​puede hacer fácilmente.
5. Muchos otros ejemplos en este sentido que, cuando se toman juntos,aparecen estrechamente asociado a la falta de espacio libre con un rendimiento inferior.
Lo anterior ilustra otra razón por la que esto es un mito tan común: Mientras que la falta de espacio libre no es una causa directa de la desaceleración, la desinstalación de diversas aplicaciones, eliminando contenido indizado o escaneado, etc. a veces (pero no siempre, fuera del alcance de esta respuesta) aumenta el rendimiento de nuevo por razones no relacionadas con la cantidad de espacio libre restante. Pero esto también libera naturalmente espacio en el disco duro. Por lo tanto, una vez más, se puede hacer una conexión aparente (pero falso) entre "espacio libre más" y un "equipo más rápido".
Considere: Si usted tiene un equipo que ejecuta lentamente debido a la gran cantidad de software instalado, etc., clonar su disco duro (exactamente) a un disco duro más grande, a continuación, expanda sus particiones para ganar más espacio libre, la máquina no acelerará mágicamente. Las mismas cargas de software, se fragmentan aún los mismos archivos de la misma manera, la misma búsqueda indexador todavía corre, nada cambia a pesar de tener más espacio libre.
"¿Tiene algo que ver con la búsqueda de espacio de memoria para guardar las cosas?"
No, no lo hace. Hay dos cosas muy importantes tener en cuenta aquí:
1.  El disco duro no busca alrededor para encontrar lugares para poner las cosas. Su disco duro es estúpido. No es nada. Se trata de un gran bloque de almacenamiento dirigida que pone las cosas ciegamente en su sistema operativo le dice que lee y lo que se pide de él. Duros modernos tienen mecanismos de almacenamiento en caché y tampón sofisticados diseñado alrededor de la predicción de lo que el sistema operativo se va a pedir en base a la experiencia que hemos adquirido en el tiempo (algunas unidades son aún conscientes del sistema de archivos que está sobre ellos), pero en esencia, piensan de su conducir tan sólo un gran ladrillo tonto de almacenamiento con características de rendimiento bono ocasionales.
2.  El sistema operativo no busca lugares para poner las cosas, tampoco. No hay búsqueda. Mucho esfuerzo ha ido a la solución de este problema, ya que es fundamental para presentar el rendimiento del sistema. La forma en que los datos se organizan en realidad en su unidad está determinado por susistema de archivos . Por ejemplo, FAT32 (antiguo DOS y Windows PC), NTFS (posteriores ediciones de Windows), HFS + (Mac), ext4 (algunos sistemas Linux), y muchos otros. Incluso el concepto de un "archivo" y un "directorio" no son más que productos de sistemas de archivos típicos - discos duros no saben nada acerca de las misteriosas bestias llamadosarchivos . Los detalles se encuentran fuera del alcance de esta respuesta.Pero, en esencia, todos los sistemas de archivo comunes tienen formas de seguimiento en el que el espacio disponible está en una unidad de modo que la búsqueda de espacio libre es, en circunstancias normales (es decir, los sistemas de archivos en buen estado de salud), innecesario. Ejemplos:
  • NTFS tiene una tabla maestra de archivos , que incluye los archivos especiales $ Bitmap , etc., y un montón de metadatos que describen la unidad. En esencia se mantiene un seguimiento de dónde los próximos bloques libres son para que los nuevos archivos se pueden escribir directamente a bloques libres sin tener que escanear la unidad cada vez.
  • Otro ejemplo: Ext4 tiene lo que se llama el asignador de mapa de bits , una mejora con respecto ext2 y ext3 que, básicamente, ayuda a determinar directamente donde los bloques libres son en lugar de escanear la lista de bloques libres. Ext4 también es compatible con la asignación retardada , es decir, el búfer de datos en la memoria RAM del sistema operativo antes de escribirla a la unidad con el fin de tomar mejores decisiones acerca de dónde ponerlo para reducir la fragmentación.
  • Muchos otros ejemplos.
"O con el movimiento de las cosas para hacer un espacio continuo el tiempo suficiente para salvar algo?"
No. Esto no es así, al menos no con cualquier sistema de archivos que soy consciente. Archivos simplemente terminan fragmentado.
El proceso de "mover las cosas para hacer un espacio contiguo suficiente para salvar algo" se llama la desfragmentación . Esto no ocurre cuando los archivos se escriben. Esto sucede cuando se ejecuta el desfragmentador de disco. En las ediciones más recientes de Windows, por lo menos, esto ocurre automáticamente en un horario, pero nunca se desencadena por escribir un archivo.
Ser capaz de evitar mover las cosas como esto es clave para presentar el rendimiento del sistema, y es la razón por la fragmentación ocurre y por qué existe la desfragmentación como un paso separado.
"¿Cuánto espacio vacío debo dejar libre en el disco duro?"
Esta es una pregunta más difícil de contestar (y esta respuesta ya se ha convertido en un pequeño libro).
Reglas de oro:
1. Para todos los tipos de unidades:
  • Lo más importante es dejar suficiente espacio libre para que usted utilice su ordenador de manera efectiva . Si está quedando sin espacio para trabajar, tendrá que una unidad más grande.
  • Muchas herramientas de desfragmentación de disco requieren una cantidad mínima de espacio libre (creo que el que tiene Windows requiere un 15 por ciento, el peor caso) para trabajar. Ellos usan este espacio libre para guardar temporalmente los archivos fragmentados como otras cosas se reorganizan.
  • Deje espacio para otras funciones del sistema operativo. Por ejemplo, si el equipo no tiene una gran cantidad de memoria RAM física, y usted tiene la memoria virtual habilitada con un archivo de página dinámicamente de tamaño, tendrá que dejar espacio suficiente para el tamaño máximo del archivo de paginación. O si usted tiene una computadora portátil que se pone en modo de hibernación, se necesita espacio libre suficiente para el archivo de estado de hibernación. Ese tipo de cosas.
2. SSD-específica:
  • Para una óptima fiabilidad (y en menor medida, el rendimiento), los SSD requieren un poco de espacio libre, que, sin entrar en demasiados detalles, que utilizan para la difusión de los datos alrededor de la unidad para evitar constantemente escribiendo al mismo lugar (lo que les lleva a cabo) . Este concepto de dejar espacio libre se llama exceso de aprovisionamiento . Es importante, pero en muchos SSD, ya existe obligatoria sobre-aprovisionado espacio . Es decir, las unidades tienen a menudo unas pocas docenas más GB de lo que informan al sistema operativo. Unidades de gama baja a menudo requieren que dejes manualmente sin particionar el espacio, pero para las unidades con OP obligatorio, no es necesario dejar ningún espacio libre . Una cosa importante a señalar aquí es que el exceso de aprovisionamiento espacio es a menudo sólo tomada desde el espacio sin particionar . Así que si su partición ocupa toda la unidad y dejar algo de espacio libre en él, eso no siempre cuentan. Muchas veces, manual de sobre-aprovisionamiento requiere que encoger la partición a ser menor que el tamaño de la unidad. Consulte el manual del usuario de su SSD para más detalles.TRIM, recolección de basura, y como tienen efectos también, pero los que están fuera del alcance de esta respuesta.
Personalmente, suelo tomar un duro más grande cuando tengo unos 20-25 por ciento de espacio libre restante. Esto no está relacionado con el rendimiento, es sólo que cuando llegue a ese punto, espero que probablemente estaré quedando sin espacio para datos de pronto y es el momento de conseguir un coche más grande.
Más importante que ver el espacio libre es hacer la desfragmentación segura programado está habilitado en su caso (no en los SSD) para que nunca llegue al punto en que se vuelve lo suficientemente graves como para afectar a usted.

Hay una última cosa que vale la pena mencionar. Una de las otras respuestas aquí mencionó que el modo half-duplex de SATA impide leer y escribir al mismo tiempo. Si bien es verdad, esto es enormemente simplista y es en su mayoría sin relación con los problemas de rendimiento que se discuten aquí.Lo que esto significa, simplemente, es que los datos no se pueden transferir en ambas direcciones en el cable al mismo tiempo. Sin embargo, SATA tiene una especificación bastante complejo que involucra diminutos tamaños máximos de bloque (alrededor 8kB por bloque en el alambre, creo), leer y escribir colas de operación, etc., y no impide que escribe a los tampones que suceden mientras lee están en curso, intercalada operaciones, etc.
Cualquier bloqueo que se produce podría ser debido a la competencia por los recursos físicos, por lo general mitigados por un montón de caché. El modo dúplex de SATA es casi totalmente irrelevante aquí.

(A) "Reduzca la velocidad" es un término amplio. Aquí, he utilizado para referirse a las cosas que son o I / O-bound (es decir, si el equipo está sentado allí haciendo números, el contenido del disco duro no tienen ningún impacto) o CPU-bound y compitiendo con las cosas tangencialmente relacionados que tienen alto uso de la CPU (es decir, el software de escaneo antivirus toneladas de archivos).
(B) los SSD son afectadas por la fragmentación en que el acceso secuencial velocidades son generalmente más rápido que el acceso aleatorio, a pesar de los SSD no enfrentan las mismas limitaciones que un dispositivo mecánico (incluso entonces, la falta de fragmentación no garantiza el acceso secuencial debido al desgaste de nivelación, etc. ). Sin embargo, en casi todos los escenarios de uso general, este es un problema inexistente.Diferencias de rendimiento debido a la fragmentación de los SSD son normalmente insignificante para cosas como las aplicaciones de carga, arrancar el ordenador, etc.
(C) Suponiendo un sistema de archivos en su sano juicio que no está fragmentando archivos a propósito.