desarrollo-web-br-bd.com

¿Cuánto espacio dejar libre en HDD o SSD?

En la prensa de tecnología informal (es decir, periodística), y en los blogs de tecnología y foros de discusión en línea, uno suele encontrar consejos anecdóticos para dejar espacio libre en las unidades de disco duro o de estado sólido. Se dan varias razones para esto, o a veces ninguna razón en absoluto. Como tales, estas afirmaciones, aunque quizás sean razonables en la práctica, tienen un aire mítico. Por ejemplo:

  • Una vez que su (s) disco (s) estén llenos al 80%, debe considerarlos full , e inmediatamente debe estar eliminando cosas o actualizando. Si alcanzan 90% full, debe considerar que sus propios pantalones personales están en el fuego real, y reaccionar con una cantidad adecuada de inmediatez para remediar eso. ( Fuente .)

  • Para que la recolección de basura siga funcionando con la máxima eficiencia, el consejo tradicional apunta a mantener vacío entre el 20 y el 30 por ciento de su unidad. ( Fuente .)

  • Me han dicho que debería dejar un 20% gratis en una HD para un mejor rendimiento, que una HD realmente disminuye cuando está casi llena. ( Fuente .)

  • Debe dejar espacio para los archivos de intercambio y los archivos temporales. Actualmente, el 33% por ciento quedo libre y prometo no obtener menos de 10 GB de espacio libre en el disco duro. ( Fuente .)

  • Yo diría que normalmente el 15%, sin embargo, con el tamaño de los discos duros de hoy en día, siempre que tenga suficientes archivos temporales y de intercambio, técnicamente estará a salvo. ( Fuente .)

  • Recomendaría un 10% más en Windows porque la desfragmentación no se ejecutará si no hay tanta libertad en la unidad cuando la ejecute. ( Fuente .)

  • Por lo general, debe dejar un 10% libre para evitar la fragmentación ( Fuente .)

  • Si su unidad está constantemente llena en más del 75 o 80 por ciento, vale la pena considerar la actualización a un SSD más grande. ( Fuente .)

¿Ha habido alguna investigación, preferiblemente publicada en una revista revisada por pares, sobre el porcentaje o la cantidad absoluta de espacio libre requerido por combinaciones específicas de sistemas operativos, sistemas de archivos y tecnología de almacenamiento (por ejemplo, un disco magnético frente a un estado sólido)? (Idealmente, dicha investigación también explicaría la razón para no exceder la cantidad específica de espacio utilizado, por ejemplo, para evitar que el sistema se quede sin espacio de intercambio , o para evitar la pérdida de rendimiento).

Si conoce alguna de estas investigaciones, le agradecería que respondiera con un enlace a la misma y un breve resumen de los hallazgos. ¡Gracias!

107
sampablokuper

¿Ha habido alguna investigación, preferiblemente publicada en una revista revisada por pares […]?

Uno tiene que retroceder mucho más de 20 años, de la administración del sistema o de otro tipo, para esto. Este fue un tema candente, al menos en el mundo de los sistemas operativos de computadoras personales y estaciones de trabajo, hace más de 30 años; el momento en que las personas de BSD estaban desarrollando el sistema de archivos rápido de Berkeley y Microsoft e IBM estaban desarrollando el sistema de archivos de alto rendimiento.

La literatura sobre ambos por sus creadores discute las formas en que estos sistemas de archivos se organizaron para que política de asignación de bloque produjera un mejor rendimiento al tratar de hacer contiguos los bloques de archivos consecutivos. Puede encontrar discusiones sobre esto y sobre el hecho de que la cantidad y la ubicación del espacio libre que queda para asignar bloques afecta la ubicación de bloques y, por lo tanto, el rendimiento, en los artículos contemporáneos sobre el tema.

Debería ser bastante obvio, por ejemplo, a partir de la descripción del algoritmo de asignación de bloques del FFS de Berkeley, que si no hay espacio libre en el grupo de cilindros actual y secundario y el algoritmo, por lo tanto, alcanza el repliegue de cuarto nivel ("aplicar una búsqueda exhaustiva para todos los grupos de cilindros ") el rendimiento de la asignación de bloques de discos sufrirá, al igual que la fragmentación del archivo (y, por tanto, el rendimiento de lectura).

Es este y otros análisis similares (que están lejos de los únicos diseños de sistemas de archivos que pretendían mejorar las políticas de diseño de los diseños de sistemas de archivos de la época) sobre los que se ha desarrollado la sabiduría recibida de los últimos 30 años.

Por ejemplo: el dictamen en el documento original de que los volúmenes FFS deben mantenerse llenos en menos del 90%, para que no se vea afectado el rendimiento, que se basó en experimentos realizados por los creadores, se puede encontrar sin crítica incluso en libros sobre sistemas de archivos Unix publicados este siglo. (por ejemplo, Pate2003 p. 216). Pocas personas lo cuestionan, aunque Amir H. Majidimehr realmente lo hizo el siglo anterior, diciendo que xe no ha observado en la práctica un efecto notable; no solo por el mecanismo habitual de Unix que reserva ese 10% final para el uso de superusuario, lo que significa que un 90% del disco completo está efectivamente lleno al 100% para los no superusuarios de todos modos (Majidimehr1996 p. 68). Lo mismo hizo Bill Calkins, quien sugiere que, en la práctica, se puede llenar hasta el 99%, con discos del siglo XXI, antes de observar los efectos de rendimiento del espacio libre bajo porque incluso el 1% de los discos de tamaño moderno es suficiente para tener un montón de espacio libre no fragmentado. todavía para jugar con (Calkins2002 p. 450).

Este último es un ejemplo de cómo la sabiduría recibida puede volverse incorrecta. Hay otros ejemplos de esto. Al igual que los mundos SCSI y ATA de direccionamiento lógico de bloques y registro de bits zonificados en lugar de tirar por la ventana todos los cálculos cuidadosos de latencia de rotación en el BSD diseño del sistema de archivos, por lo que la mecánica física de las unidades SSD en lugar de tirar por la ventana el espacio libre recibió la sabiduría que se aplica a los discos de Winchester.

Con los SSD, la cantidad de espacio libre en el dispositivo en su conjunto, es decir, en todos los volúmenes del disco y entre ellos, tiene un efecto tanto en el rendimiento como en la vida útil. Y la base misma de la idea de que un archivo debe almacenarse en bloques con direcciones de bloques lógicos contiguos se ve socavada por el hecho de que los SSD no tienen platos para girar y cabezas para buscar. Las reglas cambian de nuevo.

Con los SSD, la cantidad mínima recomendada de espacio libre es en realidad más que el 10% tradicional que proviene de los experimentos con discos Winchester y Berkeley FFS hace 33 años. Anand Lal Shimpi da el 25%, por ejemplo. Esta diferencia se ve agravada por el hecho de que debe ser espacio libre en todo el dispositivo, mientras que la cifra del 10% es dentro de cada volumen de FFS, y por lo tanto se ve afectada por la el programa de partición conoce a TRIM todo el espacio que la tabla de particiones no asigna a un volumen de disco válido.

También se compone de complejidades como los controladores de sistemas de archivos compatibles con TRIM que pueden TRIM espacio libre dentro volúmenes de discos, y el hecho de que los fabricantes de SSD también ya asignan diversos grados de espacio reservado que ni siquiera es visible fuera del dispositivo (es decir, al Host) para varios usos, como la recolección de basura y la nivelación de desgaste.

Bibliografía

10
JdeBP

Aunque no puedo hablar de la publicación de "investigaciones" en "revistas revisadas por pares", y no me gustaría tener que confiar en ellas para el trabajo cotidiano, sí puedo hablar de las realidades de cientos de producciones Servidores bajo una variedad de sistemas operativos durante muchos años:

Hay tres razones por las que un disco completo reduce el rendimiento:

  • Falta de espacio libre: piense en archivos temporales, actualizaciones, etc.
  • Degradación del sistema de archivos: la mayoría de los sistemas de archivos sufren la capacidad de diseñar archivos de manera óptima si no hay suficiente espacio.
  • Degradación del nivel de hardware: los discos SSD y SMR sin espacio libre suficiente mostrarán un rendimiento reducido y, lo que es peor, un aumento de la latencia (a veces en muchos órdenes de magnitud)

El primer punto es trivial, especialmente porque ningún sistema de producción sano usaría el espacio de intercambio para expandir y reducir dinámicamente los archivos.

El segundo punto difiere mucho entre los sistemas de archivos y la carga de trabajo. Para un sistema Windows con carga de trabajo mixta, un umbral del 70% resulta ser bastante útil. Para un sistema de archivos ext4 de Linux con pocos archivos pero de gran tamaño (por ejemplo, sistemas de transmisión de video), esto podría aumentar hasta un 90%.

El tercer punto depende del hardware y el firmware, pero especialmente los SSD con un controlador Sandforce pueden recurrir al borrado de bloques libres en las cargas de trabajo de alta escritura, lo que lleva a que las latencias de escritura aumenten en miles de por ciento. Por lo general, dejamos el 25% libre en el nivel de partición, luego observamos una tasa de llenado inferior al 80%.

Recomendaciones

Me doy cuenta de que mencioné cómo asegurarme de que se aplique una tasa de llenado máxima. Algunos pensamientos aleatorios, ninguno de ellos "revisado por pares" (pagado, falso o real) pero todos ellos de sistemas de producción.

  • Use los límites del sistema de archivos: /var no pertenece al sistema de archivos raíz.
  • Seguimiento, seguimiento, seguimiento. Use una solución preparada si le conviene, de lo contrario, analice la salida de df -h y deje que suenen las alarmas por si acaso. Esto le puede ahorrar de 30 kernels en una raíz de fs con actualizaciones automáticas instaladas y ejecutándose sin la opción de autoremove.
  • Sopese la posible interrupción de un desbordamiento de fs contra el costo de hacerlo más grande en primer lugar: si no está en un dispositivo integrado, podría duplicar esos 4G para root.
49
Eugen Rieck

¿Ha habido alguna investigación ... sobre el porcentaje o la cantidad absoluta de espacio libre requerido por combinaciones específicas de sistemas operativos, sistemas de archivos y tecnología de almacenamiento ...?

En 20 años de administración de sistemas, nunca he encontrado una investigación que detalle los requisitos de espacio libre de varias configuraciones. Sospecho que esto se debe a que las computadoras están configuradas de manera tan diversa que sería difícil hacerlo debido a la gran cantidad de configuraciones posibles del sistema.

Para determinar cuánto espacio libre requiere un sistema, se deben tener en cuenta dos variables:

  1. El espacio mínimo requerido para prevenir comportamientos no deseados, que a su vez puede tener una definición fluida.

    Tenga en cuenta que no es útil definir el espacio libre requerido solo con esta definición, ya que es el equivalente a decir que es seguro conducir a 80 mph hacia una pared de ladrillos hasta el punto en el que choca con él.

  2. La velocidad a la que se consume el almacenamiento, que dicta una cantidad variable adicional de espacio para reservarse, para que el sistema no se degrade antes de que el administrador tenga tiempo de reaccionar.

La combinación específica de sistema operativo, sistemas de archivos, arquitectura de almacenamiento subyacente, junto con el comportamiento de la aplicación, la configuración de la memoria virtual, etc. crea un gran desafío para quienes desean proporcionar requisitos de espacio libre definitivos.

Es por eso que hay tantos "pepitas" de consejos por ahí. Notará que muchos de ellos hacen una recomendación en torno a una configuración específica. Por ejemplo, "Si tiene un SSD que está sujeto a problemas de rendimiento cuando se acerca la capacidad, permanezca por encima del 20% de espacio libre".

Debido a que no hay una respuesta simple a esta pregunta, el enfoque correcto para identificar su / requisito mínimo de espacio libre del sistema es considerar las diversas recomendaciones genéricas a la luz de la configuración específica de su sistema, luego establecer un umbral, monitorearlo, y estar dispuesto a ajustarlo según sea necesario.

O simplemente puedes mantener al menos un 20% de espacio libre. A menos que, por supuesto, tenga un volumen 42 TB RAID 6 respaldado por una combinación de SSD y discos duros tradicionales y un archivo de intercambio asignado previamente ... (eso es una broma para la gente seria).

29

Por supuesto, una unidad de disco (HDD o SSD por igual) no podría preocuparse por la cantidad de porcentajes de su uso, aparte de que los SSD pueden borrar su espacio libre de antemano. El rendimiento de lectura será exactamente el mismo, y el rendimiento de escritura puede ser algo peor en SSD. De todos modos, el rendimiento de escritura no es tan importante en una unidad casi llena, ya que no hay espacio para escribir nada.

Por otro lado, su sistema operativo, sistema de archivos y aplicaciones esperarán que tenga espacio libre disponible en todo momento. Hace 20 años era típico que una aplicación comprobara la cantidad de espacio que tenía en la unidad antes de intentar guardar sus archivos allí. Hoy en día, la aplicación crea archivos temporales sin pedir su permiso, y normalmente se bloquea o se comporta de forma errática cuando no lo hacen.

Los sistemas de archivos tienen una expectativa similar. Por ejemplo, NTFS reserva una gran parte de su disco para MFT, pero aún le muestra este espacio como libre. Cuando llena su disco NTFS por encima del 80% de su capacidad, obtiene fragmentación MFT que tiene un impacto muy real en el rendimiento.

Además, tener espacio libre sí ayuda contra la fragmentación de archivos regulares. Los sistemas de archivos tienden a evitar fragmentación del archivo encontrando el lugar adecuado para cada archivo dependiendo de su tamaño. En un disco casi lleno, tendrán menos opciones, por lo que tendrán que tomar decisiones más pobres.

En Windows, también se espera que tenga suficiente espacio en disco para el archivo de intercambio, que puede crecer cuando sea necesario. Si no puede, debe esperar que sus aplicaciones se cierren por la fuerza. Tener muy poco espacio de swap puede empeorar el rendimiento.

Incluso si su swap tiene un tamaño fijo, quedarse sin espacio en el disco del sistema puede colapsar su sistema y/o hacer que no se pueda arrancar (Windows y Linux por igual), ya que el sistema operativo esperará poder escribir en el disco durante el arranque. Así que sí, golpear el 90% del uso del disco debería hacerte considerar que tus pinturas están en llamas. No una vez he visto computadoras que no se iniciaron correctamente hasta que se eliminaron las descargas recientes para darle al sistema operativo un poco de espacio en el disco.

11
Dmitry Grigoryev

Las "reglas" varían dependiendo de sus requerimientos. Y hay casos especiales, como, por ejemplo, ZFS: "Con una capacidad del 90%, ZFS cambia de optimización basada en rendimiento a espacio, lo que tiene implicaciones de rendimiento masivas". Sí, esto es un diseño aspecto de ZFS ... no algo derivado de la observación o evidencia anecdótica. Obviamente, esto es un problema menor si su grupo de almacenamiento de ZFS consiste únicamente en SSD. Sin embargo, incluso con discos giratorios, puede alcanzar felizmente el 99% o el 100% cuando se trata de almacenamiento estático y no necesita un rendimiento de primer nivel, por ejemplo, su colección personal de películas favoritas de todos los tiempos, que nunca cambia y dónde La seguridad es prioridad 1.

A continuación, btrfs: un caso extremo: cuando el espacio libre es demasiado bajo (unos pocos MByte), puede llegar al punto de no retorno. No, eliminar archivos no es una opción, ya que no se puede. Simplemente no hay suficiente espacio para eliminar archivos. btrfs es un sistema de archivos COW (copy-on-write), y puede alcanzar un punto en el que ya no puede modificar los metadatos. En este punto, aún puede agregar almacenamiento adicional a su sistema de archivos (una unidad USB puede funcionar), luego eliminar archivos del sistema de archivos expandido, luego reducir el tamaño del sistema de archivos y eliminar el almacenamiento adicional nuevamente. Nuevamente, este es un aspecto causado por design del sistema de archivos.

Las personas que pueden proporcionarle "datos reales (serios)" son probablemente las que tratan con el "almacenamiento real (serio)". Twisty's (excelente) responde a las matrices híbridas de mentiones (que consisten en cantidades masivas de giros lentos baratos, muchos discos giratorios rápidos, muchos SSD ...) que se operan en un entorno empresarial donde el principal factor limitante es la velocidad a la que está el administrador capaz de ordenar actualizaciones. Pasar de 16T a 35T puede demorar 6 meses ... por lo que terminas con informes seriamente respaldados que sugieren configurar tu alarma al 50%.

8
Klaws

Para los SSD debería quedar algo de espacio porque la velocidad de reescritura aumenta y afecta negativamente el rendimiento de escritura del disco. El 80% lleno es un valor seguro, probablemente para todos los discos SSD; algunos modelos más recientes pueden funcionar bien incluso con una capacidad ocupada del 90-95%.

https://www.howtogeek.com/165542/why-solid-state-drives-slow-down-as-you-fill-them-up/

8
Jaroslav Kucera

Hay muchos, muchos factores que contribuyen al resultado en cantidades muy específicas de la configuración. Por lo tanto, no hay un número fijo y rápido, esto solo puede medirse en función de esos parámetros. (Es probable que esa sea la razón por la que otros usuarios informan que no se ha realizado ninguna investigación específica sobre este tema específico, demasiadas variables para compilar algo concluyente).

  • Hardware

    • HDD tiene todos sus sectores asignados en todo momento. Por lo tanto, absolutamente no importa cuántos de ellos contienen datos de usuario actuales. (Para el controlador, todos los sectores contienen algunos datos en todo momento, solo los lee y los sobrescribe como se indica).
    • El controlador de SSD, por otro lado, (de) asigna sus sectores de forma dinámica, similar a un sistema de archivos. Lo que hace que este trabajo sea más difícil en usos más altos. Cuánto más difícil es y cuánto afecta esto al rendimiento observable depende de:
      • El rendimiento del controlador y la calidad de los algoritmos.
      • Escribir carga
      • Hasta cierto punto, carga general (para dar tiempo al controlador para la recolección de basura)
      • Dotación excesiva de espacio (algunos fabricantes incluso permiten que el cliente la elija antes del pedido o cambie dinámicamente)
  • Sistema de archivos

    • Los diferentes sistemas de archivos están diseñados para diferentes cargas y requisitos de procesamiento del Host. Esto puede ser ajustado hasta cierto punto por los parámetros de formato.
    • El rendimiento de escritura FS es una función del espacio libre y la fragmentación, el rendimiento de lectura es solo una función de la fragmentación. Se degrada gradualmente desde el principio, por lo que la pregunta es dónde se encuentra su umbral tolerable.
  • Tipo de carga

    • La carga pesada de escritura enfatiza encontrar y acceder rápidamente a nuevos bloques libres
    • La carga pesada de lectura enfatiza la consolidación de datos relacionados para que pueda leerse con menos sobrecarga
4
ivan_pozdeev

Depende del uso previsto de la unidad, pero en general, el espacio libre del 20% al 15% es una buena respuesta para los discos giratorios, y el 10% o más es bueno para las unidades SSD.

Si esta es la unidad principal en la computadora y los archivos se pueden mover, entonces el 20% de espacio libre debería evitar una desaceleración significativa. Esto permitirá suficiente espacio abierto en toda la unidad para que los datos se puedan mover y copiar según sea necesario. Una unidad giratoria funcionará mejor cuando las ubicaciones libres estén más cerca de los datos originales, mientras que en una SSD la ubicación física no afecta el rendimiento diario. Por lo tanto, la unidad giratoria debe tener más espacio libre por razones puramente de rendimiento. En el SSD, el espacio libre reducido reducirá la longevidad del disco, pero no reducirá el rendimiento. Los SSD intentan almacenar datos temporales y archivos de descarga aleatoria en ubicaciones menos utilizadas para que puedan equilibrar el uso de la celda en todo el disco; de lo contrario, una parte del disco envejecerá mucho más rápido que el resto. Algunos SSD más nuevos pueden reorganizar los archivos de manera inteligente para que el espacio vacío se mueva, pero las unidades más antiguas pueden no hacerlo.

Si se trata de una unidad de almacenamiento de medios o de largo plazo, entonces debería ser suficiente de 5% a 10% gratis, y sería preferible un 10% si se trata de un disco giratorio. No necesita tanto espacio libre porque esta unidad rara vez requerirá la transferencia de datos, por lo que el rendimiento no es un factor tan importante. El espacio libre es útil principalmente para permitir que los sectores defectuosos se desechen y se reemplacen, y para permitir que los archivos sean más contiguos.

No empujaría ninguna unidad más allá del 95% de su capacidad por más de un día a menos que haya una razón muy buena y clara.

3
user3685427

Una cosa a considerar con las unidades mecánicas es que el rendimiento del borde exterior es más alto que el interior. Esto se debe a que hay más sectores por revolución para la circunferencia más grande del exterior.

A medida que la unidad alcance su capacidad, el rendimiento disminuirá porque solo estarán disponibles los sectores internos más lentos.

Para un análisis más profundo, vea https://superuser.com/a/643634

3
Wes Toleman