¿Cuándo debería funcionar FSTIM? -- yanogenmod campo con file-system campo con lagging campo con maintenance camp android Relacionados El problema

When should fstrim run?


4
vote

problema

Español

Basado en este Hilo del foro de CyanogenMod , lo intenté Para abordar el retraso en la ejecución de aplicaciones y cambiar entre aplicaciones en mi Galaxy Nexus que ejecute CyanogenMod con Android 4.4.4 ejecutando fstrim manualmente.

  root@maguro:/ # fstrim -v /data                                                           /data: 11649122304 bytes trimmed                                                          root@maguro:/ # fstrim -v /cache                                                          /cache: 436121600 bytes trimmed                                                           root@maguro:/ # fstrim -v /system                                                         /system: 80490496 bytes trimmed root@maguro:/ # exit   

Esto ha fijado en gran medida los problemas de retardo. El retraso para volver a la pantalla de inicio, por ejemplo, se ha reducido de aproximadamente 4 segundos a menos de 1 segundo. Sobre la base de este impulso de rendimiento, espero que la demora fue causada por el sistema de archivos que se ejecuta de manera ineficiente.

¿No se supone que el sistema operativo Android corriera por sí mismo por sí solo? ¿Cuándo se supone que esto suceda?

Original en ingles

Based on this cyanogenmod forum thread, I tried to address the delay in running applications and switching between applications on my Galaxy Nexus running cyanogenmod with Android 4.4.4 by running fstrim manually.

root@maguro:/ # fstrim -v /data                                                           /data: 11649122304 bytes trimmed                                                          root@maguro:/ # fstrim -v /cache                                                          /cache: 436121600 bytes trimmed                                                           root@maguro:/ # fstrim -v /system                                                         /system: 80490496 bytes trimmed root@maguro:/ # exit 

This has largely fixed the delay issues. The delay to return to the home screen, for example, has reduced from about 4 seconds to less than 1 second. Based on this performance boost, I expect the delay was caused by the filesystem running inefficiently.

Isn't the Android OS supposed to run fstrim on its own? When is this supposed to happen?

           
   
   

Lista de respuestas

5
 
vote

The Artículo < / a> referenciado en @ Mattm La respuesta está un poco desactualizada. ABCDEFGHIJKLMNABCDEFGHIJKLMN0 Se eliminó en Lollipop, las cosas han cambiado. En pastel, programado fstrim se activa de StorageManagerService ( 1 ) a MountService ( 2 ) :

Si el dispositivo está vivo en medianoche + inactivo , FRMIM se ejecuta en el siguiente disponible cargando + inactivo tiempo

* ( 3 )
Mount Service Llamadas ABCDEFGHIJKLMNABCDEFGHIJKLMN4 que a su vez Llamadas ABCDEFGHIJKLMNABCDEFGHIJKLMN5 TO HA ABCDEFGHIJKLMNABCDEFGHIJKLMN6 .

Si el calendario se está perdiendo porque las condiciones no se encuentran y fstrim no se ha ejecutado para el último 3 days ( 4 )) , se verá forzado durante el inicio del dispositivo si se reinicia el dispositivo. ABCDEFGHIJKLMNABCDEFGHIJKLMN9 ( 5 ) , fstrim0 ( 6 , ABCDEFGHIJKLMNABCDEFGHIJKLMN11 ( 7 ) y fstrim2 ( 8 ) están involucrados.

En cada caso, el archivo fstrim3 ( 9 ) (desde lollipop) se actualiza (< un href = "https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-9.0.0_r42/services/core/java/com/android/server/storagemanagerservice.java#581" rel = "nofollow noreferrer"> 10 ) , por lo que puede verificar su marca de tiempo ( requiere root ) para averiguar cuándo fstrim4 fue la última ejecución .

Si desea hacer abcdefhijklmnabcdefghijklmn15 manualmente, use la herramienta de línea de línea de Android abcdefhijklmnabcdefghijklmn16 (requiere root o fstrim7 ) . Anteriormente, esto fue ABCDEFGHIJKLMNABCDEFGHIJKLMN18 , pero se agregó al administrador de almacenamiento en Oreo ( 11 ) y eliminado de fstrim9 en Pie ( 12 ) .

Para enviar ABCDEFGHIJKLMNABCDEFGHIJKLMN20 Para seleccionar solo el sistema de archivos seleccionado, use StorageManagerService1 Herramienta ( requiere raíz ); un applet busybox.


¿Qué pasa si no tiene root?
Y sospechas que el programado StorageManagerService2 se está perdiendo durante 3+ días, reiniciar de ICE, ABCDEFGHIJKLMNABCDEFGHIJKLMN23 será forzado (desde Lollipop 5.1 ( 13 ) ). Simple.

Las aplicaciones no pueden recortar sin root; Consulte esta respuesta .


¿Con qué frecuencia se debe ejecutar el ajuste?

Memoria flash (incluidos los SSD, EMMCS, SD Tarjetas, Palos USB, etc.) Tiene un número limitado de ciclos de programa / borrado antes de que muera. Pero a diferencia de los HDD, los datos no se pueden sobrescribir en la memoria flash, se debe borrar primero, lo que se logra a través de StorageManagerService4 .

Ahora si hacemos demasiado StorageManagerService5 , esto causará el GC frecuente en el fondo que consume precioso StorageManagerService6 ciclos y, por lo tanto, reduciendo la vida. Si no hacemos ABCDEFGHIJKLMNABCDEFGHIJKLMN27 , en absoluto, podría haber GC innecesario (de datos ya eliminados), más las operaciones de escritura se pondrán demasiado lacas con el tiempo porque StorageManagerService8 tendrá para ser realizado antes de sobrescribir datos, que tiene una latencia muy alta en comparación con StorageManagerService9 Operación.

Entonces necesitamos un equilibrio entre ambos.

También hay otros factores por ejemplo. Si el controlador EMMC es compatible con MountService0 , qué tan efectivo está en la programación de Fondo GC, la nivelación de desgaste y la gestión de la amplificación de escritura, etc.

A menos que tenga la hoja de datos de EMMC de su teléfono y está seguro de lo que está haciendo, mejor es dejar el MountService1 a SO. En las PCS ' ( 14 ) :

Ejecutar flastim con frecuencia, o incluso usar MountService2 , podría afectar negativamente la vida útil de los dispositivos SSD de baja calidad. Para la mayoría de los sistemas de escritorio y servidor, una frecuencia de recorte suficiente es una vez a la semana .

Pero esto puede variar con situaciones.

relacionado:

  • Codificación para SSDS
  • ¿Por qué el recorte no es compatible con la partición "/ datos" encriptados?

 

The article referenced in @mattm's answer is a bit outdated. IdleMaintenanceService was removed in Lollipop, things have changed. On Pie, scheduled fstrim is triggered from StorageManagerService (1) to MountService (2):

if the device is alive at midnight + idle, fstrim gets run at the next available charging + idle time

* (3)
Mount service calls StorageManager which in turn calls Vold to do fstrim.

If the schedule is being missed because the conditions don't meet and fstrim has not run for last 3 days (4), it will be forced during device startup if the device is restarted. SystemServer (5), PackageManager (6), StorageManager (7) and Vold (8) are involved.

In each case, the file /data/system/last-fstrim (9) (since Lollipop) gets updated (10), so you can check its timestamp (requires root) to find out when fstrim was last run.

If you want to do TRIM manually, use Android's commandline tool sm fstrim (requires root or adb shell). Previously this was vdc fstrim dotrim but added to Storage Manager in Oreo (11) and removed from vold in Pie (12).

In order to send FITRIM ioctl to selected filesystem(s) only, use fstrim tool (requires root); a busybox applet.


What if you don't have root?
And you suspect that the scheduled fstrim is being missed for 3+ days, restart device, fstrim will be forced (since Lollipop 5.1 (13)). Simple.

Apps can't TRIM without root; see this answer.


HOW OFTEN TRIM SHOULD BE RUN?

Flash memory (including SSDs, eMMCs, SD Cards, USB sticks etc.) has limited number of Program/Erase cycles before it dies. But unlike HDDs, data can't be just overwritten on flash memory, it has to be Erased first, which is achieved through Garbage Collection.

Now if we do too much fstrim, this will cause frequent GC in background consuming precious P/E cycles and hence reducing life. If we don't do fstrim at all, there could be unnecessary GC (of already deleted data), plus the write operations will get too slow with time because Erase will have to be performed before overwriting data, which has very higher latency as compared to Program operation.

So we need a balance between both.

Also there are other factors e.g. whether eMMC controller supports over provisioning, how effective it is in background GC scheduling, wear-leveling and managing write amplification etc.

So unless you have the data sheet of your phone's eMMC and you are sure what you are doing, better is to leave the fstrim to OS. On PCs' (14):

Running fstrim frequently, or even using mount -o discard, might negatively affect the lifetime of poor-quality SSD devices. For most desktop and server systems a sufficient trimming frequency is once a week.

But this may vary with situations.

RELATED:

  • Coding for SSDs
  • Why is TRIM not supported on encrypted xe2x80x9c/dataxe2x80x9d partition?
 
 
4
 
vote
vote
La mejor respuesta
 

El comentario de un inolvidable incluyó una > Artículo de AnandTech que describe las condiciones bajo las cuales se supone que FSTIM se ejecuta:

He aprendido un poco más sobre las condiciones subyacentes cuando Android 4.3 recortará sistemas de archivos, ya que no fue completamente claro antes. El Marco Android enviará un evento de "Inicio de la ventana de Mantenimiento inactivo" en el que escucha el SISTERSER SERVICIO, y luego invoca a los sistemas de archivos VOLD a FRMIM cuando se han cumplido algunas condiciones: el dispositivo no se ha tocado durante más de una hora, sin mantenimiento inactivo El evento de la ventana se ha enviado en 24 horas, y el dispositivo es fuera del cargador con una batería del 80% o en el cargador con una batería del 30%. El objetivo es tener que FSTIM se ejecute aproximadamente una vez cada 24 horas si tiene la costumbre de conectar el dispositivo para cargar todas las noches.

 

Unforgettableid's comment included an AnandTech article that describes the conditions under which fstrim is supposed to run:

Ixe2x80x99ve learned a bit more on the conditions underlying when Android 4.3 will TRIM filesystems, as it wasnxe2x80x99t completely clear before. The Android framework will send out a xe2x80x9cstart idle maintenance windowxe2x80x9d event that the MountService listens for, and then invokes vold to fstrim filesystems when a few conditions have been met xe2x80x93 the device hasnxe2x80x99t been touched for over an hour, no idle maintenance window event has been sent in 24 hours, and the device is either off-charger with 80% battery or on-charger with 30% battery. The goal is to have fstrim run roughly once every 24 hours if youxe2x80x99re in the habit of plugging the device in to charge every night.

 
 
1
 
vote

Respuesta por MattM Indica las condiciones bajo las cuales, debe ejecutarse fstrim . No tengo conocimiento de que el comportamiento ha cambiado en versiones posteriores de Android, pero me encontré con una aplicación que hace ABCDEFGHIJKLMNABCDEFGHIJKLMN1 a pedido, como también en reinicio . Raíz necesaria. Compartir esta información, ya que puede ser útil para aquellos que no son Linux Savan (como yo :)

ssd boost

Android 4.3+ Soports Nativamente, significa que el sistema operativo después de eliminar un archivo enviará un comando de recorte al controlador NAND notificando a los bloques de brujas del archivo utilizado, el controlador los borrará cuando esté inactivo para que pueda escribir rápidamente sin borrar la próxima vez. .

Pero los usuarios no tienen control sobre este proceso y Android no recorta el almacenamiento durante mucho tiempo.

'SSD BOOST' le ayuda a ejecutar el recorte en su dispositivo manualmente si lo siente, se ha vuelto lento y, de todos modos, se queda para usted en cada reinicio.

Sé que esto directamente no responde a la pregunta, pero sentí que esta era la mejor pregunta en el sitio para compartir este

 

Answer by mattm indicates conditions under which, fstrim should run. I am not aware if the behaviour has changed in subsequent Android versions, but I came across an app that does fstrim on demand as also on reboot . Root needed. Sharing this information as it may be useful to those who are not Linux savvy ( like me :)

SSD Boost

Android 4.3+ supports trim natively, it means that operating system after deleting a file will sends a trim command to nand controller notifying witch blocks the file used, the controller will erase them when idle so it can write fast without erasing next time.

But users have no control over this process and Android doesn't trim the storage for a very long time.

'SSD Boost' helps you to run trim on your device manually if you feel it has become laggy and anyway it does trim for you on every reboot.

I know this directly doesn't answer the question, but felt this was the best question on site to share this

 
 
 
 

Relacionados problema

0  ¿Cómo eliminar el historial de búsqueda de la aplicación de configuración?  ( How to delete search history from settings app ) 
En Android, es posible buscar una configuración específica haciendo clic en la lupa en la esquina superior derecha de la aplicación de configuración y escribi...

9  ¿Cómo cifra su dispositivo que ejecuta CyanogenMod 12.1?  ( How do you encrypt your device running cyanogenmod 12 1 ) 
cyanogenmod 12 y 12.1 La configuración del "cifrado" está roto y ha sido durante bastante tiempo. ¿Hay alguna manera de cifrar el teléfono de alguna otra ma...

1  Tiempo de espera de conexión a IP único  ( Connection timeout to single ip ) 
Tengo un problema extraño y no estoy seguro de cómo depurar esto. Mi teléfono Android (OnePlus One, Android 5.1) está conectado a mi WiFi (FritzBox 7490) en...

-1  CM12 para HTC Desire 610 AT & T? [cerrado]  ( Cm12 for htc desire 610 att ) 
cerrado. Esta pregunta es off-topic . Actualmente no está aceptando respuestas. ¿Quieres ...

1  ¿Por qué no estoy obteniendo cm12s ota para el oneplus uno?  ( Why am i not getting cm12s ota for the oneplus one ) 
No estoy recibiendo CM12S OTA para el OnePlus One. Aunque golpee el sistema actualizar un montón de veces. Gracias por su ayuda. ...

2  ¿Cómo obtener bien Google de Lockscreen de vuelta? OnePlus One CM 12.1 nocturno  ( How to get ok google from lockscreen back oneplus one cm 12 1 nightly ) 
Recientemente actualizé al nuevo CM 12.1 nocturno en mi OnePlus uno de la versión oficial debido a problemas constantes de la pantalla táctil. Las cuestiones ...

2  Ocultar patrones al desbloquear aplicaciones protegidas?  ( Hide patterns when unlocking protected apps ) 
Patrón de aplicación protegida http: // virtualthughthughs.org/wp-content/uploads/2014/08/cyaangenmod-protected-apps-2.png ¿Hay alguna forma de ocultar el...

0  No se puede conectar al enrutador WiFi: ¿Algo está mal con la configuración?  ( Unable to connect to wifi router something wrong with configuration ) 
Necesitaba alguna forma de interactuar entre mi escritorio y mi teléfono Android (Cynaogen). Tengo un enrutador de mi amigo. Para ser claros, no se trata de a...

0  Instalación de CyanogenMod 11 en Karbonn A52 +  ( Installing cyanogenmod 11 on karbonn a52 ) 
Necesito un poco de ayuda para instalar CyanogenMod 11 en mi raíz Karbonn A52 +, aunque está ejecutando la recuperación de acciones y el amplificador; No he p...

3  ¿Cómo puedo hacer una copia de seguridad y restaurar la ROM CyanogenMod 12.1 instalada en mi Samsung Galaxy 2 I9100?  ( How can i backup and restore cyanogenmod 12 1 rom installed on my samsung galaxy ) 
La recuperación de cyanogenmod (12.1) no tiene una opción de copia de seguridad o restauración. Como leí en la respuesta de una publicación anterior, la recup...

2  Entonces, ¿qué tipo de proceso es el teclado Android?  ( So what type of process is android keyboard ) 
He instalado recientemente CyanogenMod 11 en mi (ahora muy antiguo) LG Optimus 2X. Después de algunos ajustes, logré hacer que funcione mucho más fuerte que l...

2  CyanogenMod en un dispositivo no compatible  ( Cyanogenmod on an unsupported device ) 
Estoy usando un procesador Karbonn A52 + Running Mediatek y Android 4.2.2 Jellybean. Mi dispositivo está arraigado, pero desafortunadamente, no se admite una ...

1  ¿Cómo evitar Spotify para acceder a la foto / medios?  ( How to prevent spotify to access photo media ) 
Spotify Cambió recientemente su política y desea recopilar datos privados como contactos y fotos / medios. Estoy usando el sistema operativo Cyanogen que ti...

1  No se pueden instalar GAPPS en CM12.1 fresco en Galaxy S2  ( Cannot install gapps on fresh cm12 1 on galaxy s2 ) 
Acabo de hacer una nueva instalación de CM12.1 en un S2 GT-I9100, y no puedo averiguar cómo obtener GAPPS allí. Las versiones y mini versiones fallan con la p...

3  ¿Cómo puedo diagnosticar el problema de la batería?  ( How can i diagnose the battery issue ) 
El sistema operativo de mi teléfono es CyanogenMod 12.1 con la versión de Android 5.1.1. Recientemente encontré un drenaje de la batería. Configuré el modo ...

2  ¿Cómo recupera el reloj la información del clima?  ( How does clock retrieve the weather information ) 
Estoy ejecutando un CyanogenMod 12.1 nocturno con afwall 2.0.0 instalado. Afwall parece funcionar como se esperaba, excepto por el Yahoo! Tiempo Servicio ...

-1  Los archivos del almacenamiento interno no se pueden ver en la galería  ( Files from internal storage cannot be seen in gallery ) 
En My Samsung Galaxy S2 que tiene la ROM personalizada Cyangen 11, los archivos no se muestran en la Galería. He reinstalado ROM 2 veces, pero no está trabaja...

5  ¿Cómo instalo CyanogenMod en el Samsung Galaxy Tab Pro 10.1 Wi-Fi?  ( How do i install cyanogenmod on the samsung galaxy tab pro 10 1 wi fi ) 
Aproveche la compra de una tableta o un teléfono inteligente, porque parecen un tipo de juguete (no malo per se) y una forma de que las grandes empresas lo us...

3  ¿Cuál es la recuperación de cyanogenmod.img?  ( Whats cyanogenmods recovery img ) 
Acabo de pasar a la descarga.cyanogenmod y vio que la descarga ahora viene con el dispositivo, aquí-Recovery.Imp. ¿Puede alguien decirme qué es esto? gracias ...

1  Tengo un motivo enraizado con muy poca memoria interna utilizable. Pero tiene una ranura microSD. ¿Puedo cambiar su almacenamiento predeterminado?  ( I own a rooted moto e with very little usable internal memory but it does have ) 
Soy dueño de una moto enraizada e. Tiene aproximadamente 2 GB de memoria interna utilizable. Frecuentemente se queda sin memoria. Afortunadamente, también...

Relacionados problema

0  ¿Cómo eliminar el historial de búsqueda de la aplicación de configuración? 
9  ¿Cómo cifra su dispositivo que ejecuta CyanogenMod 12.1? 
1  Tiempo de espera de conexión a IP único 
-1  CM12 para HTC Desire 610 AT & T? [cerrado] 
1  ¿Por qué no estoy obteniendo cm12s ota para el oneplus uno? 
2  ¿Cómo obtener bien Google de Lockscreen de vuelta? OnePlus One CM 12.1 nocturno 
2  Ocultar patrones al desbloquear aplicaciones protegidas? 
0  No se puede conectar al enrutador WiFi: ¿Algo está mal con la configuración? 
0  Instalación de CyanogenMod 11 en Karbonn A52 + 
3  ¿Cómo puedo hacer una copia de seguridad y restaurar la ROM CyanogenMod 12.1 instalada en mi Samsung Galaxy 2 I9100? 
2  Entonces, ¿qué tipo de proceso es el teclado Android? 
2  CyanogenMod en un dispositivo no compatible 
1  ¿Cómo evitar Spotify para acceder a la foto / medios? 
1  No se pueden instalar GAPPS en CM12.1 fresco en Galaxy S2 
3  ¿Cómo puedo diagnosticar el problema de la batería? 
2  ¿Cómo recupera el reloj la información del clima? 
-1  Los archivos del almacenamiento interno no se pueden ver en la galería 
5  ¿Cómo instalo CyanogenMod en el Samsung Galaxy Tab Pro 10.1 Wi-Fi? 
3  ¿Cuál es la recuperación de cyanogenmod.img? 
1  Tengo un motivo enraizado con muy poca memoria interna utilizable. Pero tiene una ranura microSD. ¿Puedo cambiar su almacenamiento predeterminado? 



© 2021 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos


Licensed under cc by-sa 3.0 with attribution required.