En la prensa tecnológica informal (es decir, periodística), y en blogs de tecnología en línea y foros de discusión, uno comúnmente encuentra consejos anecdóticos para dejar una cierta cantidad de espacio libre en unidades de disco duro o unidades de estado sólido. Se dan varias razones para esto, o algunas veces no hay ninguna razón. Como tal, estas afirmaciones, aunque quizás sean razonables en la práctica, tienen un aire mítico sobre ellas. Por ejemplo:
Una vez que su (s) disco (s) estén llenos al 80%, debería considerarlos llenos , e inmediatamente debería eliminar cosas o actualizarlas. Si alcanzan el 90% de su capacidad, debe considerar que sus propios pantalones personales están en llamas, y reaccionar con una cantidad adecuada de inmediatez para remediar eso. ( Fuente )
Para mantener la recolección de basura funcionando con la máxima eficiencia, el consejo tradicional es mantener el 20 al 30 por ciento de su unidad vacía. ( Fuente )
Me han dicho que debería dejar aproximadamente un 20% gratis en un HD para un mejor rendimiento, que un HD realmente se ralentiza cuando está casi lleno. ( Fuente )
Debe dejar espacio para los archivos de intercambio y los archivos temporales. Actualmente dejo un 33% por ciento libre y prometo no tener menos de 10 GB de espacio libre en el disco duro. ( Fuente )
Yo diría que generalmente el 15%, sin embargo, con el tamaño de los discos duros ahora son adays, siempre que tenga suficiente para sus archivos temporales y archivos de intercambio, técnicamente está seguro. ( Fuente )
Recomendaría un 10% más en Windows porque la desfragmentación no se ejecutará si no hay tanta cantidad libre en el disco cuando lo ejecutas. ( Fuente )
En general, desea dejar aproximadamente un 10% libre para evitar la fragmentación ( Fuente ).
Si su unidad tiene más del 75% u 80% de su capacidad, vale la pena considerar la actualización a una SSD más grande. ( Fuente )
¿Se ha realizado 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, sistema de archivos y tecnología de almacenamiento (por ejemplo, bandeja magnética versus 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 investigación de este tipo, le agradecería que pudiera responder con un enlace y un breve resumen de los resultados. ¡Gracias!
fuente
Respuestas:
Hay que retroceder mucho más de 20 años, de administración del sistema o de otro modo, 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 la gente de BSD estaba desarrollando Berkeley Fast FileSystem y Microsoft e IBM estaban desarrollando High Performance FileSystem.
La literatura sobre ambos por sus creadores discute las formas en que estos sistemas de archivos se organizaron para que la política de asignación de bloques 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 restante para asignar bloques afecta la colocació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 Berkeley FFS que si no hay espacio libre en el grupo de cilindros actual y secundario y el algoritmo alcanza así el retroceso del cuarto nivel ("aplique una búsqueda exhaustiva a todos los grupos de cilindros ") el rendimiento de la asignación de bloques de disco se verá afectado, al igual que la fragmentación del archivo (y, por lo tanto, el rendimiento de lectura).
Son estos y otros análisis similares (estos están lejos de ser los únicos diseños de sistemas de archivos que tenían como objetivo mejorar las políticas de diseño de los diseños de sistemas de archivos de la época) sobre los que se ha construido la sabiduría recibida de los últimos 30 años.
Por ejemplo: el dictamen en el documento original de que los volúmenes de FFS se mantienen por debajo del 90%, para que el rendimiento no se vea afectado, basado en experimentos realizados por los creadores, puede repetirse sin crítica incluso en libros sobre sistemas de archivos Unix publicados este siglo (p. Ej. Pate2003 p. 216) . Pocas personas cuestionan esto, aunque Amir H. Majidimehr realmente lo hizo el siglo anterior, diciendo que xe en la práctica no ha observado un efecto notable; no menos debido al mecanismo de Unix habitual que se reserva que 10% final para uso superusuario, lo que significa que un disco completo 90% es efectivamente 100% completo para los no superusuarios de todos modos (Majidimehr1996 p. 68). También lo hizo Bill Calkins, quien sugiere que en la práctica se puede llenar hasta el 99%, con tamaños de disco 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 mucho espacio libre no fragmentado todavía para jugar (Calkins 2002 p. 450) .
Este último es un ejemplo de cómo la sabiduría recibida puede llegar a ser incorrecta. Hay otros ejemplos de esto. Al igual que los mundos SCSI y ATA de direccionamiento de bloques lógicos y grabación de bits zonificados arrojaron por la ventana todos los cálculos cuidadosos de latencia rotacional en el diseño del sistema de archivos BSD, la mecánica física de los SSD en lugar de tirar por la ventana el espacio libre recibió 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 bloque lógicas contiguas se ve socavada por el hecho de que los SSD no tienen platos para rotar 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 del 10% tradicional que proviene de experimentos con discos Winchester y Berkeley FFS hace 33 años. Anand Lal Shimpi da 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% está dentro de cada volumen FFS y, por lo tanto, se ve afectada por si el programa de partición de uno sabe TRIMAR todo el espacio que no es asignado a un volumen de disco válido por la tabla de particiones.
También se ve agravado por complejidades como controladores del sistema de archivos TRIM-consciente de que puede recortar el espacio libre dentro de los volúmenes de disco, y el hecho de que los fabricantes de SSD en sí también ya asignan diversos grados de espacio reservado que ni siquiera es visible outwith el dispositivo (es decir, al host ) para diversos usos, como la recolección de basura y la nivelación del desgaste.
Bibliografía
fuente
Aunque no puedo hablar sobre "investigaciones" publicadas por "revistas revisadas por pares", y no quisiera tener que depender de ellas para el trabajo diario, sí puedo hablar sobre 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 lleno reduce el rendimiento:
El primer punto es trivial, especialmente porque ningún sistema de producción sensato 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 una carga de trabajo mixta, un umbral del 70% resulta bastante útil. Para un sistema de archivos Linux ext4 con pocos pero grandes archivos (p. Ej., Sistemas de transmisión de video), esto podría llegar a más del 90%.
El tercer punto depende del hardware y el firmware, pero especialmente los SSD con un controlador Sandforce pueden caer en borrado de bloque libre en 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 un 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 "revisados por pares" (pagados, falsificados o reales), sino todos de los sistemas de producción.
/var
no pertenece al sistema de archivos raíz.df -h
y deje sonar las alarmas por si acaso. Esto puede ahorrarle 30 núcleos en una raíz fs con actualizaciones automáticas instaladas y ejecutándose sin la opción de eliminación automática.fuente
/var
se llena y tu servidor se cae.En 20 años de administración del sistema, nunca me he encontrado con investigaciones que detallen 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:
El espacio mínimo requerido para evitar comportamientos no deseados, que pueden 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 80 mph hacia una pared de ladrillos hasta el punto en el que choca con él.
La velocidad a la que se consume el almacenamiento, que dicta que se reserve una cantidad variable adicional de espacio, para que el sistema no se degrade antes de que el administrador tenga tiempo de reaccionar.
La combinación específica del sistema operativo, los sistemas de archivos, la 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 definitivos de espacio libre.
Es por eso que hay tantas "pepitas" de consejos por ahí. Notarás que muchos de ellos hacen una recomendación sobre una configuración específica. Por ejemplo, "Si tiene un SSD que está sujeto a problemas de rendimiento cuando se acerca a la capacidad, manténgase por encima del 20% de espacio libre".
Debido a que no hay una respuesta simple a esta pregunta, el enfoque correcto para identificar el requisito de espacio libre mínimo de su 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 podría mantener al menos un 20% de espacio libre. A menos que, por supuesto, tenga un volumen RAID 6 de 42 TB respaldado por una combinación de SSD y discos duros tradicionales y un archivo de intercambio preasignado ... (eso es una broma para las personas serias).
fuente
Por supuesto, una unidad en sí (HDD o SSD por igual) no podría importar menos cuántos porcentajes está en uso, aparte de que las 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 un disco casi lleno, ya que no hay espacio para escribir nada.
Su sistema operativo, sistema de archivos y aplicaciones, por otro lado, esperarán que tenga espacio libre disponible en todo momento. Hace 20 años, era típico que una aplicación verificara cuánto espacio tenía en la unidad antes de intentar guardar sus archivos allí. Hoy en día, las aplicaciones crean archivos temporales sin pedirle permiso, y normalmente se bloquean o se comportan de manera 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 así le muestra este espacio como libre. Cuando llena su disco NTFS por encima del 80% de su capacidad, obtiene una fragmentación MFT que tiene un impacto muy real en el rendimiento.
Además, tener espacio libre ayuda de hecho contra la fragmentación de los archivos normales. Los sistemas de archivos tienden a evitar la fragmentación de archivos al encontrar el lugar correcto para cada archivo dependiendo de su tamaño. En un disco de relleno cercano, tendrán menos opciones, por lo que tendrán que tomar malas decisiones.
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 intercambio puede empeorar el rendimiento.
Incluso si su intercambio tiene un tamaño fijo, quedarse completamente sin espacio en el disco del sistema puede bloquear su sistema y / o hacer que no se pueda arrancar (tanto Windows como Linux), porque el sistema operativo esperará poder escribir en el disco durante el arranque. Entonces, sí, alcanzar el 90% del uso del disco debería hacerte considerar que tus pinturas están en llamas. Ni una vez he visto computadoras que no pudieron iniciarse correctamente hasta que se eliminaron las descargas recientes para darle al sistema operativo un poco de espacio en disco.
fuente
Para las unidades 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/
fuente
Las "reglas" varían según sus requisitos. Y hay casos especiales, como, por ejemplo, ZFS: "Con una capacidad del 90%, ZFS cambia de la optimización basada en el rendimiento al espacio, lo que tiene implicaciones masivas de rendimiento". Sí, este es un aspecto de diseño de ZFS ... no algo derivado de la observación o evidencia anecdótica. Obviamente, esto no es un problema si su grupo de almacenamiento ZFS consta únicamente de SSD. Sin embargo, incluso con discos giratorios, puede alcanzar felizmente el 99% o el 100% cuando se ocupa del 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 puede hacerlo. Simplemente no hay suficiente espacio para eliminar archivos. btrfs es un sistema de archivos COW (copy-on-write), y puede llegar a 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 de memoria USB podría funcionar), luego eliminar archivos del sistema de archivos expandido, luego reducir el sistema de archivos y eliminar el almacenamiento adicional nuevamente). Nuevamente, este es un aspecto causado por el diseño del sistema de archivos.
Las personas que pueden proporcionarle "datos reales (serios)" son probablemente los que se ocupan del "almacenamiento real (serio)". La respuesta de Twisty (excelente) menciona matrices híbridas (que consisten en cantidades masivas de giro lento barato, muchos discos de giro rápido, muchos SSD ...) que funcionan en un entorno empresarial donde el principal factor limitante es la velocidad a la que el administrador es capaz de ordenar actualizaciones. Pasar de 16T a 35T puede llevar 6 meses ... por lo que terminará con informes respaldados seriamente que sugieren configurar su alarma al 50%.
fuente
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 sólido y rápido, esto solo se puede medir en función de esos parámetros. (Probablemente por eso otros usuarios informan que no se realizó una investigación específica sobre este tema específico: demasiadas variables para compilar algo concluyente).
Hardware
Sistema de archivos
Tipo de carga
fuente
Una cosa a tener en cuenta con los accionamientos mecánicos es que el rendimiento del borde exterior es mayor 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 alcanza la capacidad, el rendimiento disminuirá porque solo habrá sectores internos más lentos disponibles.
Para un análisis más profundo ver https://superuser.com/a/643634
fuente
Depende del uso previsto de la unidad, pero en general del 20% al 15% de espacio libre es una buena respuesta para los discos giratorios, y el 10% o más es bueno para los SSD.
Si esta es la unidad principal de la computadora y los archivos se pueden mover, el 20% de espacio libre debería evitar desaceleraciones significativas. Esto permitirá suficiente espacio abierto en todo el disco para mover y copiar datos 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 un SSD la ubicación física no afecta el rendimiento diario. Por lo tanto, la unidad giratoria debería tener más espacio libre por razones puramente de rendimiento. En el SSD, el espacio libre reducido reducirá la vida útil del disco, pero no reducirá el rendimiento. Los SSD intentan almacenar datos temporales y archivos de descarga aleatoria en las 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.
Si se trata de una unidad de almacenamiento multimedia o de almacenamiento a largo plazo, debería ser suficiente entre un 5% y un 10% de espacio libre, y sería preferible un 10% si se trata de un disco giratorio. No necesita tanto espacio libre porque esta unidad rara vez requerirá mover datos, por lo que el rendimiento no es un factor tan importante. El espacio libre es útil principalmente para permitir que los sectores defectuosos sean descartados y reemplazados, y para permitir que los archivos sean más contiguos.
No empujaría ninguna unidad más allá del 95% de capacidad durante más de un día a menos que haya una razón muy buena y clara.
fuente