Ejecutando TRIM desde shell

¿Es posible ejecutar fstrim en stock android 4.3 desde adb shell?

Entiendo que se ejecuta cada 24 horas cuando el dispositivo está enchufado e inactivo, pero me gustaría ejecutarlo bajo demanda para probar algunas teorías.

¿Qué teléfono estás usando?
¿Alguna actualización de tu parte? No olvide votar y aceptar la respuesta si funciona.

Respuestas (3)

ADVERTENCIA: No he probado este procedimiento.

Necesitarías tener fstrimen system/bin. Esta publicación de XDA tiene un enlace de descarga de DropBox .

inicie adby luego cambie a los usuarios a root.

$ adb shelldesde la terminal de su sistema operativo.

$ supara cambiar al usuario raíz.

Para copiar fstrim a su /system/binruta, primero debe montar la ruta del sistema como lectura/escritura desde adb o algún otro administrador de archivos

# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /systempara montar /system como R/W

Luego copie fstrima la ruta del sistema.

# cp <pathtofstrim>/fstrim /system/bin

A continuación, debe cambiar los permisos de fstrim para incluir la ejecución.

# chmod 766 /system/bin/fstrimhacer fstrim ejecutable por root

Después de configurar los permisos correctos fstrim, puede ejecutar estos comandos desde adb (como root):

# fstrim -v /data
# fstrim -v /cache
# fstrim -v /system


O, podrías ir por la MANERA FÁCIL . Instale la aplicación LagFix y active fstrim a pedido, ¡siempre que su dispositivo sea compatible con fstrim!

Estoy ejecutando stock 4.3 y LagFix falla con un error de permiso a pesar de que tiene la raíz. Eso parece prometedor, pero estoy muy indeciso dado que no tiene comentarios. No digo que sea malo, pero primero necesito hacer una copia de seguridad. mirándolo en un editor hexadecimal, tiene una serie de buenas cadenas, pero dado que está compilado, quién sabe lo que hace :)
@hoss Si desea leer más comentarios sobre LagFix, el desarrollador tiene un hilo para la aplicación en XDA: forum.xda-developers.com/showthread.php?t=2104326 Yo digo que es seguro usarlo. :)
Finalmente conseguí que LagFix funcionara, tuve que incluir la aplicación en la lista blanca en su, luego borrar los datos de LagFix e intentarlo de nuevo. Antes recibía un error de permiso denegado a pesar de que estaba en la lista blanca. Probaré esta respuesta y veré si funciona como se anuncia.
Hice algunas ediciones después de hacer algunas pruebas. El binario parece ser benigno en el sentido de que no parece hacer nada malicioso, y parece informar que hizo algo, pero es imposible saber si hizo algo útil. Recompensaré esto por el uso de LagFixy si alguien puede encontrar un contenedor fstrim oficial que completaría la respuesta.
@hoss ¿Funcionó LagFix? ¿Descargaste el fstrim en tu teléfono o lo descargaste en una PC con Windows y lo copiaste en tu teléfono?
Hice funcionar LagFix, pero también probé el enlace que encontraste y configuré a través de adb.
El enlace de Dropbox está roto.
¿Quiere decir permiso = 755 en su lugar? No tiene sentido dejar que un usuario no root lo edite.

En las versiones más nuevas, Android se ejecuta fstrimcon un horario diario, siempre que se cumplan las condiciones. O debería ejecutarse en un reinicio si no se ejecuta durante más de 3 días. Vea esta respuesta para más detalles.

Sin embargo, si desea hacerlo TRIMmanualmente, use la herramienta de línea de comandos de Android sm fstrim. Anteriormente, esto vdc fstrim dotrimsolo se agregaba a Storage Manager en Oreo ( 1 ) y se eliminaba volden Pie ( 2 ) .

Para enviar FITRIM ioctlsolo a los sistemas de archivos seleccionados, use fstrimla herramienta; un subprograma de caja ocupada.

Ambos comandos requieren root o sm fstrimse pueden ejecutar desde adb shell.

vold, el demonio de administración de volumen (disco/eMMC), tiene esto incorporado. Su cliente de shell se llama "vdc" (supongo que controlador vold, similar a rndc, controlador de demonio de nombre remoto para BIND). El comando y sus argumentos relevantes, como superusuario, serían:

vdc fstrim dotrim

Tenga en cuenta que al menos en mi tableta, 4.4.4, esto solo recortará /cachey /data, pero esto es principalmente lo que creo que querría. Puede ver su progreso con logcat(por ejemplo, logcatdesde un shell en el dispositivo o adb logcaten un host conectado por USB). Vold generará un mensaje sobre cada volumen que recorta y el hecho de que está terminado (en logcat).