Página principal » cómo » ¿Por qué el vaciar el espacio en disco acelera las computadoras?

    ¿Por qué el vaciar el espacio en disco acelera las computadoras?

    Cuando aprenda más sobre las computadoras y cómo funcionan, a veces se encontrará con algo que no parece tener sentido. Con eso en mente, ¿el vaciar el espacio en disco realmente acelera las computadoras? La publicación de preguntas y respuestas del superusuario de hoy tiene la respuesta a la pregunta de un lector desconcertado.

    La sesión de Preguntas y Respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, un grupo de sitios web de preguntas y respuestas impulsado por la comunidad..

    Captura de pantalla cortesía de nchenga (Flickr).

    La pregunta

    El lector Superusuario Remi.b quiere saber por qué el vaciar el espacio en disco parece acelerar una computadora:

    He estado viendo muchos videos y ahora entiendo cómo las computadoras funcionan un poco mejor. Entiendo qué es la RAM, sobre la memoria volátil y no volátil, y sobre el proceso de intercambio. También entiendo por qué aumentar la RAM acelera una computadora.

    Lo que no entiendo es por qué la limpieza del espacio en disco parece acelerar una computadora. ¿Realmente acelera una computadora? Si es así, ¿por qué lo hace??

    ¿Tiene algo que ver con buscar espacio en la memoria para guardar cosas o mover cosas para hacer un espacio continuo lo suficientemente largo como para guardar algo? ¿Cuánto espacio vacío debo dejar libre en un disco duro??

    ¿Por qué el vaciar el espacio en disco parece acelerar una computadora??

    La respuesta

    El contribuidor de Superusuario Jason C tiene la respuesta para nosotros:

    "¿Por qué el vaciar el espacio en disco acelera las computadoras?"

    No lo hace, al menos no por su cuenta. Este es un mito muy común. La razón por la que es un mito común es que llenar su disco duro a menudo sucede al mismo tiempo que otras cosas que tradicionalmente podrían ralentizar su computadora. (UNA). El rendimiento de los SSD tiende a degradarse a medida que se van llenando, pero este es un problema relativamente nuevo, exclusivo de los SSD, y no es realmente notable para los usuarios ocasionales. En general, el espacio libre en disco es solo una pista falsa.

    Por ejemplo, cosas como:

    1. Fragmentación de archivos. La fragmentación de archivos es un problema (SEGUNDO), pero la falta de espacio libre, aunque definitivamente es uno de los muchos factores que contribuyen, no es la única causa de ello. Algunos puntos clave aquí:

    • Las posibilidades de que un archivo sea fragmentado son no relacionado con la cantidad de espacio libre que queda en la unidad. Se relacionan con el tamaño del mayor bloque contiguo de espacio libre en la unidad (es decir, "agujeros" de espacio libre), que es la cantidad de espacio libre pasa a poner un límite superior en. También están relacionados con cómo el sistema de archivos maneja la asignación de archivos (mas abajo). Considerar: Una unidad que está llena al 95 por ciento con todo el espacio libre en un solo bloque contiguo tiene una probabilidad del cero por ciento de fragmentar un archivo nuevo (DO) (y la posibilidad de fragmentar un archivo adjunto es independiente del espacio libre). Una unidad que está llena al cinco por ciento pero con datos distribuidos uniformemente sobre la unidad tiene una probabilidad muy alta de fragmentación.
    • Tenga en cuenta que la fragmentación de archivos solo afecta el rendimiento cuando se accede a los archivos fragmentados. Considerar: Tiene una unidad agradable y desfragmentada que todavía tiene muchos "agujeros" libres. Un escenario común. Todo está funcionando sin problemas. Sin embargo, eventualmente, llegas a un punto donde ya no quedan más bloques grandes de espacio libre. Usted descarga una gran película, el archivo termina siendo muy fragmentado. Esto no ralentizará su computadora. Todos sus archivos de aplicación y los que estaban bien anteriormente no se fragmentarán repentinamente. Esto puede hacer que la película demore más en cargarse (aunque las velocidades de bits típicas de la película son tan bajas en comparación con las velocidades de lectura del disco duro que lo más probable es que no se noten), y puede afectar el rendimiento de E / S cuando se carga la película, Aparte de eso, nada cambia.
    • Si bien la fragmentación de archivos es ciertamente un problema, a menudo los efectos se mitigan mediante el almacenamiento en búfer y el almacenamiento en caché a nivel del sistema operativo. Escrituras demoradas, lectura anticipada, estrategias como el prefetcher en Windows, etc., ayudan a reducir los efectos de la fragmentación. Generalmente no actualmente experimente un impacto significativo hasta que la fragmentación se vuelva severa (incluso me atrevería a decir que siempre que su archivo de intercambio no esté fragmentado, es probable que nunca lo note).

    2. La indexación de búsqueda es otro ejemplo. Digamos que tiene la indexación automática activada y un sistema operativo que no maneja esto con gracia. A medida que guarda más y más contenido indexable en su computadora (documentos y demás), la indexación puede llevar más tiempo y más tiempo y puede comenzar a afectar la velocidad percibida de su computadora mientras se está ejecutando, tanto en E / S como en el uso de la CPU. . Esto no está relacionado con el espacio libre, está relacionado 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 que se dibuja una conexión falsa.

    3. Software antivirus (similar al ejemplo de indexación de búsqueda). Supongamos que tiene un software antivirus configurado para realizar una exploración en segundo plano de su unidad. A medida que tiene más y más contenido escaneable, la búsqueda requiere más recursos de E / S y CPU, lo que posiblemente interfiere con su trabajo. Nuevamente, esto está relacionado con la cantidad de contenido escaneable que tiene. Más contenido a menudo equivale a menos espacio libre, pero la falta de espacio libre no es la causa.

    4. Software instalado. Digamos que tienes una gran cantidad de software instalado que se carga cuando tu computadora arranca, lo que ralentiza los tiempos de inicio. Esta ralentización ocurre porque se está cargando un montón de software. Sin embargo, el software instalado ocupa espacio en el disco duro. Por lo tanto, el espacio libre en el disco duro disminuye al mismo tiempo que esto sucede, y nuevamente se puede hacer una conexión falsa fácilmente.

    5. Muchos otros ejemplos a lo largo de estas líneas que, cuando se toman juntos, Aparecer Asociar estrechamente la falta de espacio libre con un menor rendimiento..

    Lo anterior ilustra otra razón por la que este es un mito tan común: mientras que la falta de espacio libre no es una causa directa de desaceleración, desinstalación de varias aplicaciones, eliminación de contenido indexado o escaneado, etc. a veces (pero no siempre; fuera del alcance de esta respuesta) aumenta el rendimiento nuevamente por razones no relacionadas con la cantidad de espacio libre restante. Pero esto también naturalmente libera espacio en el disco duro. Por lo tanto, nuevamente, se puede hacer una conexión aparente (pero falsa) entre "más espacio libre" y una "computadora más rápida".

    Considerar: Si tiene una máquina funcionando lentamente debido a la gran cantidad de software instalado, etc., clone su disco duro (exactamente) a un disco duro más grande, luego expanda sus particiones para ganar más espacio libre, la máquina no acelerará mágicamente. Las mismas cargas de software, los mismos archivos todavía están fragmentados de la misma manera, el mismo indexador de búsqueda aún se ejecuta, nada cambia a pesar de tener más espacio libre.

    "¿Tiene algo que ver con la búsqueda de espacio en la memoria para guardar cosas?"

    No, no lo hace. Hay dos cosas muy importantes que vale la pena mencionar aquí:

    1. Tu disco duro no busca alrededor para encontrar lugares para poner cosas. Tu disco duro es estúpido. No es nada. Es un gran bloque de almacenamiento direccionado que coloca a ciegas las cosas donde su sistema operativo le dice y lee lo que se le pide. Las unidades modernas tienen sofisticados mecanismos de almacenamiento en caché y almacenamiento en búfer diseñados para predecir lo que el sistema operativo va a pedir en función de la experiencia que hemos adquirido con el tiempo (algunas unidades incluso son conscientes del sistema de archivos que tiene), pero esencialmente, piense en su conduzca como solo un gran bloque de almacenamiento con funciones de rendimiento extra ocasionales.

    2. Tu sistema operativo no busca lugares para poner cosas, tampoco. No hay búsqueda. Se ha realizado un gran esfuerzo para resolver este problema, ya que es fundamental para el rendimiento del sistema de archivos. La forma en que los datos se organizan en su disco depende de su sistema de archivos. Por ejemplo, FAT32 (PC DOS y Windows antiguas), NTFS (ediciones posteriores de Windows), HFS + (Mac), ext4 (algunos sistemas Linux) y muchos otros. Incluso el concepto de "archivo" y "directorio" son simplemente productos de los sistemas de archivos típicos: los discos duros no saben nada sobre las bestias misteriosas llamadas archivos. Los detalles están fuera del alcance de esta respuesta. Pero esencialmente, todos los sistemas de archivos comunes tienen formas de rastrear dónde está el espacio disponible en una unidad de modo que, en circunstancias normales (es decir, sistemas de archivos con buena salud), una búsqueda de espacio libre es innecesaria. Ejemplos:

    • NTFS tiene una tabla de archivos maestros, que incluye los archivos especiales $ Bitmap, etc., y un montón de metadatos que describen la unidad. Esencialmente, realiza un seguimiento de dónde están los siguientes bloques libres para que los nuevos archivos puedan escribirse directamente en 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 sobre ext2 y ext3 que básicamente lo ayuda a determinar directamente dónde se encuentran los bloques libres en lugar de escanear la lista de bloques libres. Ext4 también soporta asignación retrasada, es decir, el almacenamiento en búfer de los datos en la RAM por parte del sistema operativo antes de escribirlos en la unidad para tomar mejores decisiones sobre dónde colocarlos para reducir la fragmentación.
    • Muchos otros ejemplos.

    "¿O con mover las cosas para hacer un espacio lo suficientemente largo como para guardar algo?"

    No. Esto no sucede, al menos no con ningún sistema de archivos que conozca. Los archivos simplemente terminan fragmentados.

    El proceso de "mover las cosas para crear un espacio contiguo lo suficientemente largo para guardar algo" se llama desfragmentación. Esto no sucede cuando se escriben los archivos. Esto sucede cuando ejecuta su desfragmentador de disco. En las ediciones más recientes de Windows, al menos, esto sucede automáticamente en un horario, pero nunca se activa al escribir un archivo.

    Siendo capaz de evitar mover cosas como esta es clave para el rendimiento del sistema de archivos, y es la razón por la que se produce la fragmentación y por qué existe la desfragmentación como un paso separado.

    "¿Cuánto espacio vacío debo dejar libre en un disco duro?"

    Esta es una pregunta difícil de responder (y esta respuesta ya se ha convertido en un pequeño libro).

    Reglas de juego:

    1. Para todo tipo de unidades:

    • Lo más importante, deja suficiente espacio libre para Usted use su computadora efectivamente. Si se está quedando sin espacio para trabajar, querrá un disco más grande.
    • Muchas herramientas de desfragmentación de disco requieren una cantidad mínima de espacio libre (creo que la que tiene Windows requiere un 15 por ciento, el peor de los casos) para trabajar. Utilizan este espacio libre para almacenar archivos fragmentados temporalmente a medida que se reorganizan otras cosas.
    • Deje espacio para otras funciones del sistema operativo. Por ejemplo, si su máquina no tiene una gran cantidad de RAM física y tiene la memoria virtual habilitada con un archivo de página de tamaño dinámico, tendrá que dejar suficiente espacio para el tamaño máximo del archivo de página. O si tiene una computadora portátil que pone en modo de hibernación, necesitará suficiente espacio libre para el archivo de estado de hibernación. Ese tipo de cosas.

    2. SSD específico:

    • Para una confiabilidad óptima (y, en menor medida, rendimiento), las unidades SSD requieren algo de espacio libre que, sin entrar en demasiados detalles, se usa para distribuir datos en el disco para evitar la escritura constante en el mismo lugar (lo que los desgasta) . Este concepto de dejar espacio libre se denomina aprovisionamiento excesivo. Es importante, pero en muchos SSD, ya existe espacio de aprovisionamiento excesivo obligatorio. Es decir, las unidades a menudo tienen unas pocas docenas de GB más de lo que informan al sistema operativo. Las unidades de gama baja a menudo requieren que se vaya manualmente sin particiones Espacio, pero para accionamientos con OP obligatorio., No necesitas dejar ningún espacio libre.. Una cosa importante a tener en cuenta aquí es que el espacio con exceso de aprovisionamiento a menudo solo se toma del espacio no particionado. Entonces, si su partición ocupa todo su disco y deja espacio libre en ella, eso no siempre contar. Muchas veces, el aprovisionamiento manual en exceso requiere que usted reduzca su partición para que sea más pequeña que el tamaño de la unidad. Consulte el manual de usuario de su SSD para más detalles. El TRIM, la recolección de basura y otros también tienen efectos, pero están fuera del alcance de esta respuesta.

    Personalmente, por lo general, tomo un disco más grande cuando tengo alrededor del 20-25% de espacio libre restante. Esto no está relacionado con el rendimiento, es solo que cuando llegue a ese punto, espero que pronto me esté quedando sin espacio para los datos y es hora de obtener una unidad más grande.

    Más importante que ver el espacio libre es asegurarse de que la desfragmentación programada esté habilitada donde sea apropiado (no en SSD) para que nunca llegue al punto en el que se convierta en lo suficientemente grave como para afectarlo..


    Hay una última cosa que vale la pena mencionar. Una de las otras respuestas aquí mencionó que el modo semidúplex de SATA evita la lectura y la escritura al mismo tiempo. Si bien es cierto, esto está muy simplificado en gran medida y no está relacionado con los problemas de rendimiento que se analizan aquí. Lo que esto significa, simplemente, es que los datos no se pueden transferir en ambas direcciones En el alambre al mismo tiempo. Sin embargo, SATA tiene una especificación bastante compleja que involucra tamaños de bloque máximos (aproximadamente 8kB por bloque en el cable, creo), colas de operación de lectura y escritura, etc. operaciones, etc..

    Cualquier bloqueo que ocurra se debería a la competencia por recursos físicos, generalmente mitigados por un montón de caché. El modo dúplex de SATA es casi totalmente irrelevante aquí.


    (UNA) "Disminuir la velocidad" es un término amplio. Aquí lo uso para referirme a cosas que están vinculadas a E / S (es decir, si su computadora está allí con números de contracción, el contenido del disco duro no tiene impacto) o a CPU y compite con cosas relacionadas tangencialmente que tienen una alta Uso de la CPU (es decir, software antivirus que escanea toneladas de archivos).

    (SEGUNDO) Los SSD se ven afectados por la fragmentación, ya que las velocidades de acceso secuencial son generalmente más rápidas que el acceso aleatorio, a pesar de que 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 a la nivelación del desgaste, etc.). Sin embargo, en prácticamente todos los escenarios de uso general, esto no es un problema. Las diferencias de rendimiento debidas a la fragmentación en los SSD suelen ser despreciables para cosas como cargar aplicaciones, arrancar la computadora, etc..

    (DO) Suponiendo un sistema de archivos sano que no está fragmentando archivos a propósito.

    Asegúrese de leer el resto de la animada discusión en SuperUser a través del siguiente enlace!


    ¿Tienes algo que agregar a la explicación? Apaga el sonido en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange con experiencia en tecnología? Echa un vistazo a la discusión completa aquí.