¿Cuántas escrituras tengo en mi disco duro SSD de 250 GB en mi Macbook Pro High Sierra [duplicado]

Me gustaría saber cuántas escrituras tengo en el disco duro SSD de mi Mac.

También me gustaría saber si hay un comando de terminal que pueda ejecutar para averiguar esta información y cuántas escrituras me quedan para poder verificar el estado de la misma.

Respuestas (3)

Hay un comando de Terminal para eso

iostat -Id disk0

la salida es

Verá tres valores enumerados:

KB/t = kilobytes per transfer
xfrs = number of transfers
MB = number of megabytes transferred

Aquí hay un ejemplo de mi MBA 2017

disco0

KB/t   xfrs     MB 

29,12 1886081 53627,02

El valor que aparece en MB es el número total de megabytes que ha escrito en su disco desde que se instaló por primera vez hasta ahora. Así que he escrito 53 GB.

A la segunda parte de tu Pregunta "¿Cuántos Escritos me quedan?"

No hay ningún programa que te diga la esperanza de vida :)

Considere que tiene un SSD de 250 GB, lo borra por completo y luego vuelve a escribir 250 GB; puede hacerlo unas 2000 veces. Eso es un valor de 5.0e14 de datos transferidos. (déjame ayudarte, eso es 500TB)

Además, no siempre "escribes" en la misma celda (más del 50 % de ellas están solo en modo de lectura), por eso es importante mantener tu SDD por debajo del 80 % de su capacidad.

fuente

En cualquier caso, no es tan importante saber exactamente el tiempo de vida actual y futuro. Eventualmente fallará. Solo mantenga la copia de seguridad.

La respuesta es incorrecta. "iostat -Id disk0" no le dirá cuántas escrituras o transferencias ha sufrido la unidad durante su vida útil. en cambio, le dice cuánto se ha transferido desde el último reinicio de la computadora, algo completamente diferente.
@jksoegaard eso no es correcto, acabo de reiniciar ayer y no escribí 50 GB desde entonces.
Todavía estás equivocado. Si observa el código fuente de iostat, verá que, en primer lugar, el valor "MB" es en realidad el total de bytes leídos y escritos. La cantidad de bytes leídos no es importante para la pregunta aquí, ya que no usa el SSD de la misma manera. Ya ahí, el valor que encuentras no es relevante. La siguiente parte es que en el código fuente verá que encuentra la cantidad de bytes escritos en las partes de estadísticas de las propiedades en la clave llamada "kIOBlockStorageDriverStatisticsBytesWrittenKey". Según la documentación de Apple, esa es la cantidad de bytes escritos desde el arranque.
Como no podía escribir más en el comentario anterior: "desde el arranque" no es del todo correcto, ya que realmente lo es "desde que se instanciaron los controladores de almacenamiento en bloque". En el caso de su unidad de arranque (como aquí), es lo mismo que "desde el arranque". Puede leer la documentación aquí: developer.apple.com/documentation/iokit/…
Con su lógica, los valores relacionados con mi propio impulso están muy lejos. En este momento (poco después de reiniciar) me dice que tengo aprox. Transferencias por valor de 15 GB. Lo que no encaja con su lógica, ya que la unidad tiene varios años y ha experimentado una gran cantidad de escrituras, no solo 15 GB en total durante su vida útil.
@jksoegaard ok Sherlock, aquí está mi fuente, así que habla con ellos cnet.com/how-to/find-how-how-much-longer-your-ssd-will-last
man iostat dice: "Las primeras estadísticas que se imprimen se promedian sobre el tiempo de actividad del sistema. Para obtener información sobre la actividad actual, se debe especificar un tiempo de espera adecuado, de modo que los siguientes conjuntos de estadísticas impresas se promedien durante ese tiempo". Eso implica que los datos son desde el reinicio como se señaló. Es más probable que las páginas man y las referencias al código fuente sean correctas que las páginas web aleatorias.
También reinicié los resultados 30.14 269661665 7935911.03y `` obviamente se vieron afectados por el reinicio
@Ruskes El autor del artículo de CNET obviamente estaba equivocado. ¿Podría ser posible que 1,5 años de uso de su Mac tuvieran solo 1 TB de escritura? En realidad, vine aquí porque photolibraryd había escrito 1,51 TB en los últimos 12 días, lo que me puso un poco nervioso... iostat mostró un total de 2,62 TB escritos, aparentemente compatibles con la interpretación de este arranque.
De acuerdo en que la respuesta es incorrecta. El comando muestra 157 GB mientras que mi Mac tiene 4 años y la uso a diario. Por cierto, mi ssd tiene una capacidad de 512 GB y ahora está casi lleno en un 90 %. tu haces las cuentas :)
Citar una fuente de noticias versus documentación técnica 😂

En general, no puede realizar un seguimiento de cuántas escrituras se han realizado exactamente en la unidad. Habría tenido que hacer un seguimiento de esas estadísticas usted mismo de alguna manera.

De manera similar, en general, no puede decir cuántas escrituras quedan, ya que no hay "garantía" de que una unidad falle en un punto determinado. Tampoco hay garantía de que una unidad no falle hasta cierto punto.

La mejor manera de obtener una aproximación de lo que desea es mirar los atributos SMART en la unidad. Puedes hacerlo con el programa "smartctl" de "smartmontools". Si tiene homebrew instalado, puede instalar smartmontools con este comando:

brew install smartmontools

Luego, ejecútalo así:

smartctl -a disk0

(reemplace disk0 con el disco físico real que desea examinar; puede encontrar los nombres de los dispositivos en la Utilidad de Discos)

En la salida de smartctl, querrá ver el llamado "Recuento de nivelación de desgaste". El valor bruto a la derecha le indica cuántos ciclos de borrado/programación ha sufrido en promedio cada bloque en el SSD. Los ciclos de borrado/programación son los que eventualmente desgastan la unidad.

Además, el número en la columna "valor" le dirá básicamente qué tan grande es esa cantidad de ciclos de borrado/programación en comparación con la cantidad esperada de ciclos que puede sostener su unidad. Básicamente, este número comienza en 100 % para una unidad nueva y cuenta regresivamente hasta 0 %, donde esperaría que la unidad comenzara a fallar. Como se mencionó anteriormente, las unidades pueden fallar y fallarán antes de ese punto, y es posible que no fallen en ese punto. Sin embargo, es uno de los mejores indicadores que tiene de la salud de la unidad.

¡Esta es la verdadera respuesta! Sin embargo, una pregunta: ¿el valor original completo es 255 o 200?
Mire solo el valor normalizado, que debe ser un porcentaje entre 0 y 100. En algunas unidades, por ejemplo Intel, esta estadística se conoce como Indicador de desgaste de medios.
Mi unidad muestra Wear_Leveling_Countcomo 193. Así que el original debería ser 255 o 200, supongo...
Publique la línea de salida completa; de lo contrario, es difícil decir algo. Los valores SMART son diferentes de una unidad a otra, por lo que si no tiene una unidad Apple original, las cosas pueden ser diferentes para usted.
Es un SSD de APPLE SM1024G. La línea de salida es:173 Wear_Leveling_Count 0x0032 193 193 100 Old_age Always - 12899516500
Por lo que puedo ver, esto significa que la unidad está al 93%. Es decir, el valor va de 200 como máximo, a 100 como mínimo (cruzas el tiempo de vida estimado).

Atributos inteligentes para escrituras totales

Técnicamente hablando, hay atributos SMART definidos para valores de lectura/escritura, pero no hay garantía de que el fabricante de la unidad vaya a utilizarlos. Son los siguientes (definidos como "palabras", es decir, "Palabra 241"):

  • 241 - Total de LBA emitidos
  • 242 - LBA totales leídos
  • 243 - Total LBA suscritos ampliados
  • 244 - Lectura total de LBA ampliada
  • 249 - Escrituras NAND (1GiB)

Un LBA es una dirección de bloque lógico que es una dirección de 48 bits para un bloque de datos específico. Los bloques de datos varían en tamaño según el sistema operativo; macOS HSF+ usa un bloque de 16 KB. En otras palabras, en macOS formateado con HFS+, utiliza 16 KB para almacenar un archivo de 1 KB y 32 KB para almacenar cualquier archivo de más de 16 KB pero de menos de 32 KB.

¿Puedes acceder a estos datos?

Eso depende. (Nuevamente) Técnicamente hablando, puede enviar un comando ATA a la unidad para leer los datos identificados por las "palabras" relevantes. Sin embargo, es poco probable que obtenga esta información. ¿Por qué?

  • La unidad debe admitirlo.
  • macOS no te permite obtenerlo.

Extrayendo los atributos para un Seagate Drive (aleatorio) del sitio web de smartmontools , puede ver que las palabras relevantes no están definidas.

En segundo lugar, incluso si los datos existieran y tuviera que escribir su propia aplicación para enviar comandos AT personalizados, macOS no le permitiría hacerlo .

Por diseño, OS X no permite que las aplicaciones envíen comandos SCSI o ATA a los dispositivos de almacenamiento a menos que el desarrollador de la aplicación también proporcione un controlador de dispositivo en el kernel que admita los comandos. La familia de modelos de arquitectura SCSI permite que solo un controlador de unidad lógica controle un dispositivo a la vez y proporciona controladores de unidad lógica en el kernel para dispositivos de almacenamiento (como se indica en Compatibilidad con dispositivos de la familia de modelos de arquitectura SCSI). De manera similar, la familia ATA no permite que las aplicaciones envíen comandos ATA directamente a dispositivos ATA o SATA (Serial ATA).

¿Cómo sabemos que este es el caso?

Usando DiskDrill en mi SSD interno, este es el límite de atributos que proporciona el sistema operativo.

Atributos de SSD SMART

Practicidad de las operaciones de escritura total

No es práctico recopilar este tipo de información. Tomando un escenario de caso extremo, un centro de datos que ejecuta alta disponibilidad, servidores SQL (Oracle, MySQL, MSSQL) de misión crítica, nuestra preocupación no es cuántos datos se escriben, sino cuán rápidos y confiables son los discos. Lo que buscamos es

  • ¿Las IOPS son lo suficientemente altas?
  • ¿Cuál es el nivel bajo de errores de lectura/escritura?
  • ¿Sigue vigente la cobertura de la garantía?

En otras palabras, si la unidad tiene un rendimiento lo suficientemente alto y no hay (umbral bajo) de errores y todavía está en garantía, la unidad está en servicio. En el momento en que comienza a fallar, lo cambiamos. Además, una vez que finaliza la cobertura de la garantía, se reemplaza sin importar si le queda vida útil (también hay un componente de presupuesto).

En pocas palabras, el número total de operaciones de escritura en una unidad no es una métrica crítica para realizar un seguimiento.

iostaty otras herramientas del sistema operativo

El problema con esto es que te da estadísticas para el sistema operativo actual :

iostat (estadísticas de entrada/salida) es una herramienta de supervisión del sistema informático que se utiliza para recopilar y mostrar estadísticas de entrada y salida del almacenamiento del sistema operativo .

En otras palabras, reinstale macOS en un SSD bien usado de 3 años y sus estadísticas volverán a cero. Es una especie de hacer retroceder el odómetro de un automóvil: aunque informa 50,000 millas/kilómetros conducidos, el motor y la transmisión todavía tienen 150,000.

TL;RD

Es poco probable que obtenga esta información.

  1. La unidad debe admitir el atributo SMART
  2. Su sistema operativo debe permitirle obtener el atributo. En macOS, esta información, por diseño, simplemente no está disponible
  3. No es una métrica práctica para monitorear

Finalmente, cuando se trata de unidades, ya sean giratorias o de estado sólido, asuma que van a fallar. Esta es la razón por la cual una estrategia de respaldo sensata es mucho, mucho más crítica que monitorear las escrituras totales.