Ausführen von TRIM von der Shell

Ist es möglich, fstrim in Android 4.3 von der Adb-Shell aus auszuführen?

Ich verstehe, dass es alle 24 Stunden ausgeführt wird, wenn das Gerät angeschlossen und im Leerlauf ist, aber ich möchte es bei Bedarf ausführen, um ein paar Theorien zu testen.

Welches Telefon verwenden Sie?
Irgendwelche Updates von Ihrer Seite? Vergessen Sie nicht, zuzustimmen und die Antwort zu akzeptieren, wenn es funktioniert.

Antworten (3)

WARNUNG: Ich habe dieses Verfahren nicht getestet.

Sie müssten drin fstrimsein system/bin. Dieser XDA-Beitrag enthält einen DropBox-Download-Link .

starten adbund dann Benutzer auf root umstellen.

$ adb shellvon Ihrem os-Terminal.

$ suum zum Root-Benutzer zu wechseln.

Um fstrim in Ihren /system/binPfad zu kopieren, müssen Sie zuerst den Systempfad als Read/Write von adb oder einem anderen Dateimanager mounten

# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system/system als R/W zu mounten

Kopieren Sie dann fstrimin den Systempfad.

# cp <pathtofstrim>/fstrim /system/bin

Als nächstes müssen Sie die Berechtigungen von fstrim ändern, um die Ausführung einzuschließen.

# chmod 766 /system/bin/fstrimum fstrim von root ausführbar zu machen

Nachdem Sie die richtigen Berechtigungen fstrimfestgelegt haben, können Sie diese Befehle von adb (als root) ausführen:

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


ODER Sie könnten den EINFACHEN WEG gehen . Installieren Sie die LagFix- App und lösen Sie fstrim bei Bedarf aus, vorausgesetzt, Ihr Gerät unterstützt fstrim!

Ich verwende Stock 4.3 und LagFix schlägt mit einem Berechtigungsfehler fehl, obwohl es Root hat. Das sieht vielversprechend aus, aber ich bin sehr zögerlich, da es keine Kommentare gibt. Ich sage nicht, dass es schlecht ist, aber ich muss zuerst ein Backup erstellen. Wenn man es sich in einem Hex-Editor ansieht, hat es eine Reihe guter Zeichenfolgen, aber da es kompiliert ist, wer weiß, was es tut :)
@hoss Wenn Sie weitere Kommentare zu LagFix lesen möchten, hat der Entwickler einen Thread für die App auf XDA: forum.xda-developers.com/showthread.php?t=2104326 Ich sage, es ist sicher, sie zu verwenden. :)
Endlich funktionierte LagFix, ich musste die App in su auf die weiße Liste setzen, dann die LagFix-Daten löschen und es dann erneut versuchen. Vorher bekam ich einen Permission-Denied-Fehler, obwohl er auf der Whitelist stand. Ich werde diese Antwort versuchen und sehen, ob sie wie angekündigt funktioniert.
Ich habe einige Änderungen vorgenommen, nachdem ich einige Tests durchgeführt hatte. Die Binärdatei scheint gutartig zu sein, da sie nichts Bösartiges zu tun scheint, und sie scheint zu melden, dass sie etwas getan hat, aber es ist unmöglich zu wissen, ob sie etwas Nützliches getan hat. Ich werde dies für die Verwendung vergeben LagFixund wenn jemand einen offiziellen fstrim-Bin finden kann, der die Antwort vervollständigen würde.
@hoss Hat LagFix funktioniert? Haben Sie fstrim auf Ihr Telefon heruntergeladen oder haben Sie es auf einen Windows-PC heruntergeladen und auf Ihr Telefon kopiert?
Ich habe LagFix zum Laufen gebracht, aber ich habe auch den Link ausprobiert, den Sie gefunden und über adb konfiguriert haben.
Dropbox-Link ist defekt.
Meinst du stattdessen permission=755? Es macht keinen Sinn, es von Nicht-Root-Benutzern bearbeiten zu lassen.

Auf neueren Versionen läuft Android fstrimmit einem Tagesplan, sofern die Bedingungen erfüllt sind. Oder es sollte bei einem Neustart ausgeführt werden, wenn es länger als 3 Tage nicht ausgeführt wird. Siehe diese Antwort für Details.

Wenn Sie dies jedoch manuell tun möchten TRIM, verwenden Sie das Befehlszeilentool von Android sm fstrim. Zuvor wurde dies vdc fstrim dotrimaber im Storage Manager in Oreo ( 1 ) hinzugefügt und voldin Pie ( 2 ) entfernt .

Um nur FITRIM ioctlan ausgewählte Dateisysteme zu senden, verwenden Sie fstrimtool; ein Busybox-Applet.

Beide Befehle erfordern root oder sm fstrimkönnen von ausgeführt werden adb shell.

vold, der (Festplatten-/eMMC-) Volume-Management-Daemon, hat dies eingebaut. Sein Shell-Client heißt "vdc" (vold controller, schätze ich, ähnlich wie rndc, Remote-Name-Daemon-Controller für BIND). Der Befehl und seine relevanten Argumente als Superuser wären:

vdc fstrim dotrim

Beachten Sie, dass dies zumindest auf meinem Tablet, 4.4.4, nur trimmen /cacheund /data, aber das ist meistens das, was Sie meiner Meinung nach möchten. Sie können den Fortschritt mit sehen logcat(z. B. logcatvon einer Shell auf dem Gerät oder adb logcatauf einem USB-verbundenen Host). Vold gibt eine Nachricht über jedes getrimmte Volume und die Tatsache aus, dass es fertig ist (in logcat).