Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: SSD trim: Cron daily  (gelezen 1671 keer)

SSD trim: Cron daily
« Gepost op: 2018/04/28, 13:30:32 »
Heb net Ubuntu 18.04 geinstalleerd.

Ben nu aan het optimaliseren volgens Pjotr's tips.
Ben hier aangekomen:

Aanrader: maak van de wekelijkse crontaak een dagelijkse taak
8.2. Een dagelijkse trimactie is beter dan een wekelijkse, want dan hoeft u niet zo lang te wachten totdat herwinbare schijfruimte weer volledig bruikbaar wordt.
U doet dat als volgt:
a. Kopieer en plak de volgende opdrachtregel in de terminal:

sudo mv -v /etc/cron.weekly/fstrim /etc/cron.daily


Dit geeft echter een foutmelding:
~$ sudo mv -v /etc/cron.weekly/fstrim /etc/cron.daily
mv: cannot stat '/etc/cron.weekly/fstrim': No such file or directory
Miscere utile dulci. (Ter leering ende vermaeck)
http://henk.oegema.com  (On RaspberryPi2)
Registered linux user 520520.  In gebruik: Ubuntu  22.04.3 Hobby's: Radio Amateur callsign: PA2HO.  Interesses: Raspberry Pi & Arduino & Jetson Nano (voor AI & ML)

Re: SSD trim: Cron daily
« Reactie #1 Gepost op: 2018/04/28, 13:51:11 »
En deze tip veroorzaakt in Ubuntu Gnome 18.04 ook een foutmelding:

gksudo xed /etc/sysctl.conf

Bestand of map bestaat niet



OS: Ubuntu Gnome 22.04/Xubuntu 22.04; Windows 10 (dualboot) en RPI 2, 3 en 4: Bitwarden en Pihole (rpi2) Bullseye xfce, Retropie en Twister
***Steunpunt***  voor andere steunpunten: https://kaart.ubuntu-nl.org/
                    "Echte wijsheid is weten wat je niet weet"

Re: SSD trim: Cron daily
« Reactie #2 Gepost op: 2018/04/28, 14:01:33 »
En deze tip veroorzaakt in Ubuntu Gnome 18.04 ook een foutmelding:

gksudo xed /etc/sysctl.conf

Bestand of map bestaat niet

gksudo is niet meer aanwezig in 18.04.
Miscere utile dulci. (Ter leering ende vermaeck)
http://henk.oegema.com  (On RaspberryPi2)
Registered linux user 520520.  In gebruik: Ubuntu  22.04.3 Hobby's: Radio Amateur callsign: PA2HO.  Interesses: Raspberry Pi & Arduino & Jetson Nano (voor AI & ML)

Re: SSD trim: Cron daily
« Reactie #3 Gepost op: 2018/04/28, 14:04:03 »
Bij mij wel hoor  ;)

.bash_aliases in je home zetten met deze regels:

alias pkexec='pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY'
alias gksudo="pkexec"

Aanvuling: https://forum.ubuntu-nl.org/index.php?topic=104074.msg1020803#msg1020803 zie reactie #21

« Laatst bewerkt op: 2018/04/28, 14:16:57 door maasnet »
OS: Ubuntu Gnome 22.04/Xubuntu 22.04; Windows 10 (dualboot) en RPI 2, 3 en 4: Bitwarden en Pihole (rpi2) Bullseye xfce, Retropie en Twister
***Steunpunt***  voor andere steunpunten: https://kaart.ubuntu-nl.org/
                    "Echte wijsheid is weten wat je niet weet"

Re: SSD trim: Cron daily
« Reactie #4 Gepost op: 2018/04/28, 14:13:03 »
Nu we toch bezig zijn:

Dit klopt in FF ook niet meer helemaal:

Beperk de schrijfacties van Firefox
13. U kunt de schrijfacties van Firefox als volgt beperken.

a. Zet de cache op 0:

Menuknop van Firefox (met de drie liggende streepjes) - Voorkeuren... - Geavanceerd - Tabblad Netwerk
Gebufferde webinhoud: vink aan: Automatisch bufferbeheer negeren en zet de buffer op 0.

OS: Ubuntu Gnome 22.04/Xubuntu 22.04; Windows 10 (dualboot) en RPI 2, 3 en 4: Bitwarden en Pihole (rpi2) Bullseye xfce, Retropie en Twister
***Steunpunt***  voor andere steunpunten: https://kaart.ubuntu-nl.org/
                    "Echte wijsheid is weten wat je niet weet"

Offline vanadium

  • Lid
Re: SSD trim: Cron daily
« Reactie #5 Gepost op: 2018/04/28, 20:08:18 »
Sedert 18.04 wordt systemd gebruikt om trim opdrachten te plannen, niet meer cron. Zelfs bij mijn geupgrade 17.10 installatie werd overgeschakeld naar systemd. Nu moet ik wel zelf eens onderzoeken of de trim opdracht bij mij niet twee keer gepland wordt, één keer via systemd en een andere keer via cron.

Offline vanadium

  • Lid
Re: SSD trim: Cron daily
« Reactie #6 Gepost op: 2018/04/28, 20:40:46 »
Het lijkt er bij mij op dat trim wekelijks gepland wordt via systemd:

$ systemctl is-enabled fstrim.timer
enabled
$ systemctl is-enabled fstrim.service
static
$ cat /etc/systemd/system/timers.target.wants/fstrim.timer
[Unit]
Description=Discard unused blocks once a week
Documentation=man:fstrim

[Timer]
OnCalendar=weekly
AccuracySec=1h
Persistent=true

[Install]
WantedBy=timers.target
Ik vermoed dat dit naar "dagelijks" kan gedraaid worden door OnCalendar te veranderen naar daily.

Anderzijds is ook de dagelijkse trim via cron nog steeds actief:
$ ls /etc/cron.daily/ | grep fstrim
fstrim

Hmm, dit is dan een illustratie van het feit dat een upgrade inderdaad niet ideaal is  :(, en een verse installatie te verkiezen is. Dezelfde service wordt bij mij nu twee keer uitgevoerd: eens zoals geconfigureerd onder 17.10, en eens volgens de nieuwe methode. Dank zij dit draadje merk ik dat in een standaard 18.04 /etc/cron.weekly/fstrim niet aanwezig is. Misschien is cron, zoals in Antergos Linux, al helemaal niet meer standaard geïnstalleerd in Ubuntu 18.04. systemd kan namelijk die rol overnemen.

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Re: SSD trim: Cron daily
« Reactie #7 Gepost op: 2018/04/28, 21:06:01 »
Ja, klopt. De SSD-handleiding zoals-ie er nu staat, is alleen voor Linux Mint 18.x en Ubuntu 16.04. Wanneer Mint 19 er is, verander ik 'm....

Alleen de direct-doen-lijstjes voor Ubuntu, Xubuntu en Lubuntu heb ik bijgewerkt voor Ubuntu 18.04. De rest niet, om conflicten met Mint 18.x te voorkomen.

Offline vanadium

  • Lid
Re: SSD trim: Cron daily
« Reactie #8 Gepost op: 2018/04/29, 09:39:38 »
Kan iemand met een versie 18.04 installatie eens nagaan of cron actief is? Volgend commando geeft dit aan:
systemctl is-enabled cron

nahjo

  • Gast
Re: SSD trim: Cron daily
« Reactie #9 Gepost op: 2018/04/29, 09:48:55 »
Kan iemand met een versie 18.04 installatie eens nagaan of cron actief is? Volgend commando geeft dit aan:
systemctl is-enabled cron
Xubuntu 18.04 (in virtualbox) = enabled


Offline vanadium

  • Lid
Re: SSD trim: Cron daily
« Reactie #10 Gepost op: 2018/04/29, 10:12:02 »
Bedankt alvast! In Antergos is cron standaard niet beschikbaar. Ik vroeg me af of het ook in Ubuntu 18.04 mogelijk verwijderd was. Alvast niet in Xubuntu, en wellicht ook niet in de standaard Ubuntu versie. 

Ondertussen heb ik in mijn opgewaardeerde versie (I know, bad, bad, bad ... ) de cron timer verwijderd door /etc/cron.daily/fstrim te verplaatsen naar een folder /etc/cron.daily/disabled. De systemd wekelijkse timer doet zijn werk. Ik ga dit niet meer aanpassen naar dagelijks. De handleiding van fstrim stelt expliciet dat bij de meeste desktop en serversystemen een wekelijkse trim OK is, en ik neem dat aan, zeker op de hedendaagse ruimere SSD schijven. Enkel bij zeer hoge lees-schrijfactiviteit op een vrij volle SSD is regelmatiger trimmen wellicht nuttig tot zelfs noodzakelijk.

Offline marco1800

  • Lid
Re: SSD trim: Cron daily
« Reactie #11 Gepost op: 2018/04/29, 14:12:22 »
als ik het alemaal goed begrepen heb is de correcte regel voor Ubuntu 18.04 volgende :

sudo mv -v /etc/systemd.weekly/fstrim /etc/systemd.daily
Laptop BTO 16 Gb Ram / Core I5 8265U
120 Gb SSD M.2 / 500 GB SSD
Ubuntu 22.04 LTS

Offline vanadium

  • Lid
Re: SSD trim: Cron daily
« Reactie #12 Gepost op: 2018/04/29, 14:17:36 »
als ik het alemaal goed begrepen heb is de correcte regel voor Ubuntu 18.04 volgende :

sudo mv -v /etc/systemd.weekly/fstrim /etc/systemd.daily
Neen, je hebt het niet goed begrepen. Deze methode werkt immers *niet* meer op een standaard "schone"  Ubuntu 18.04 installatie. Om de frequentie van trimmen aan te passen, is een andere aanpak nodig.

Mijn persoonlijk advies hierin is echter de Ubuntu ontwikkelaars te volgen, en niet zelf in te grijpen: standaard wordt het trimmen wekelijks doorgevoerd. Maak het je gemakkelijk en ... verander niets.

Re: SSD trim: Cron daily
« Reactie #13 Gepost op: 2018/04/29, 14:24:42 »
Mijn persoonlijk advies hierin is echter de Ubuntu ontwikkelaars te volgen, en niet zelf in te grijpen: standaard wordt het trimmen wekelijks doorgevoerd. Maak het je gemakkelijk en ... verander niets.
Wekelijks trimmen is prima. 
Sterker nog; ik denk dat maandelijks voor de meeste mensen tegenwoordig ook prima voldoet.

Offline vanadium

  • Lid
Re: SSD trim: Cron daily
« Reactie #14 Gepost op: 2018/04/29, 16:34:08 »
Mogelijk wel, maar ik vertrouw de Ubuntu ontwikkelaars liever in deze.

Offline Bigtwin

  • Lid
Re: SSD trim: Cron daily
« Reactie #15 Gepost op: 2018/05/02, 21:05:36 »
Bedankt alvast! In Antergos is cron standaard niet beschikbaar. Ik vroeg me af of het ook in Ubuntu 18.04 mogelijk verwijderd was. Alvast niet in Xubuntu, en wellicht ook niet in de standaard Ubuntu versie. 
Bij een verse installatie van Ubuntu 18.04 staat cron ook gewoon aan en fstrim op weekly.

Prima overigens, weekly. Zeker op een SSD kost dat niet veel tijd, en gaat bovendien op de achtergrond. Weekly is voor mij prima, maar heel belangrijk is dat ook weer niet...
« Laatst bewerkt op: 2018/05/02, 21:12:58 door Bigtwin »

Offline vanadium

  • Lid
Re: SSD trim: Cron daily
« Reactie #16 Gepost op: 2018/05/02, 22:46:25 »
Als trim op een verse Ubuntu 18.04 ook in cron staat, dan zou dat wel eens kunnen betekenen dat het ook daar twee keer wordt ingepland, zowel met cron als met systemd. Foutje in de distributie dan, zou ik zeggen.

Offline peer

  • Lid
Re: SSD trim: Cron daily
« Reactie #17 Gepost op: 2018/05/03, 07:41:17 »
verse installatie van kubuntu 18.04:
fstrim alleen met systemd (weekly)

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Re: SSD trim: Cron daily
« Reactie #18 Gepost op: 2018/05/03, 10:33:43 »
Ook hier (Xubuntu 18.04) niks in cron.

Het lijkt erop, dat je deze twee bestanden moet bewerken (door weekly te veranderen in daily):
/lib/systemd/system/fstrim.timer en /etc/systemd/system/timers.target.wants/fstrim.timer.

Offline vanadium

  • Lid
Re: SSD trim: Cron daily
« Reactie #19 Gepost op: 2018/05/03, 13:09:33 »
Het volstaat deze versie aan te passen: /etc/systemd/system/fstrim.timer [edit]het kan ook /lib/systemd/system/fstrim.timer zijn[/edit]
of meteen /etc/systemd/system/timers.target.wants/fstrim.timer, het exemplaar dat uitgevoerd is en een symbolische link is naar eerstvermeld bestand. [edit]hiermee zit je altijd goed, ... maar veiliger is de configuratiebestanden aan te passen zoals voorzien in het systemd systeem.[/edit]

Je moet toch eens overwegen of dit advies om naar dagelijks trimmen te gaan wel de moeite loont.
« Laatst bewerkt op: 2018/05/04, 20:02:58 door vanadium »

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Re: SSD trim: Cron daily
« Reactie #20 Gepost op: 2018/05/03, 14:23:26 »
Je moet toch eens overwegen of dit advies om naar dagelijks trimmen te gaan wel de moeite loont.
Tja, mijn SSD's zijn vrij klein, en het komt nogal eens voor dat ik grote bestanden (GB's) binnenhaal en/of verwijder..... Dan is dagelijks trimmen wel prettig.  :)

Offline vanadium

  • Lid
Re: SSD trim: Cron daily
« Reactie #21 Gepost op: 2018/05/04, 21:19:20 »
Met dank aan Pjotr, die mij erop wees dat de bestandsnaam mogelijk niet klopte, heb ik wat verder uitgezocht hoe je correct een systemd opdracht, in dit geval een timer, aanpast. In dit geval stellen we op Ubuntu/Xubuntu... 18.04 in dat een SSD harde schijf dagelijks te trimmen in plaats van wekelijks. Het oude systeem via cron werkt niet meer. We maken nu gebruik van het commando "systemctl", met "sudo" ervoor om als beheerder te werken.

Geefde volgende opdracht in de terminal om de timer voor het trimmen aan te passen:
sudo systemctl edit fstrim.timer
De teksteditor nano opent. Voeg volgende code toe:
[Timer]
OnCalendar=     
OnCalendar=weekly
Verlaat nano en bewaar het bestand. (Druk op Ctrl+x, antwoord bevestigend op de vraag, en druk tenslotte op Enter om het bestand op te slaan en nano af te sluiten. )

Ongedaan maken:
Mogelijkheid 1: Je kan hetzelfde commando opnieuw uitvoeren, en de text "daily" vervangen door "weekly". Dit volstaat om de opdracht terug wekelijks te laten lopen.

Mogelijkheid 2: De puristen onder ons willen misschien het systeem liever exact herstellen zoals vóór de aanpassingen. Dan dien je de door de aanpassing aangemaakte bestanden te verwijderen:
sudo rm /etc/systemd/system/fstrim.timer.d/override.conf
sudo rmdir /etc/systemd/system/fstrim.timer.d/

Achtergrond (Opgelet, nogal technish  =D )

Deze aanpassing houdt in dat er achter de schermen een bijkomend bestand wordt aangemaakt, /etc/systemd/system/fstrim.timer.d/override.conf. Dat bestand bevat jou gewenste aanpassingen, en het wordt uitgevoerd na fstrim.timer zelf. OnCalendar moet eerst terug leeg gemaakt worden vooraleer de nieuwe waarde aan te maken. Vandaar de twee lijnen "OnCalendar=".

 Voordeel van dergelijk bijkomend bestand:
- Je moet het systeembestand zelf niet bewerken
- Je wijzigingen blijven ook na een systeemupdate behouden.

Zo kan je de inhoud van een systemd service/timer bekijken:
systemctl cat fstrim.timer
Je ziet de inhoud van het hoofdbestand. Alnaar het geval is dit /lib/systemd/system/fstrim.timer
 dan wel /etc/systemd/system/fstrim.timer, en daarachter de inhoud van de aanpassing.

/lib/systemd/system/fstrim.timer is de fabrieksversie van het bestand zoals dat geïnstalleerd werd met het softwarepakket. Als de systeembeheerder dat bestand wil aanpassen, dan moet dat gebeuren op een kopie, die onder /etc/systemd/system/fstrim.timer geplaatst wordt. Het systemctl commando om het bestand zelf aan te passen, is:

sudo systemctl edit --full fstrim.timer
/etc/systemd/system/fstrim.timer wordt geopend, of, als het nog niet bestond, aangemaakt als een kopie van /lib/systemd/system/fstrim.timer.

Een systemd service, in dit geval een timer, schakel je in met het commando
sudo systemctl enable fstrim.timer
Er wordt een link naar de timer in /etc/systemd/system/timers.target.wants/ geplaatst . Die link wijst naar /etc/systemd/system/fstrim.timer als dat bestand bestaat. Anders wordt naar het "fabrieksbestand" onder /lib/systemd gelinkt. Die links worden tijdens de opstart van het systeem gebruikt om de gewenste services/timers te starten.

Je schakelt de timer uit met het commando
sudo systemctl disable fstrim.timer
Achter de schermen wordt de link in timers.target.wants/ verwijderd.
« Laatst bewerkt op: 2018/05/04, 21:24:03 door vanadium »

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Re: SSD trim: Cron daily
« Reactie #22 Gepost op: 2018/05/04, 21:59:13 »
Bedankt voor deze prima uitleg! Weer wat nieuws geleerd.  :)

Een kleine toevoeging: als ik het gebruik van Nano wil vermijden, en liever Gedit gebruik, kan ik ook dit doen:

1.
sudo mkdir -v /etc/systemd/system/fstrim.timer.d
2.
sudo touch /etc/systemd/system/fstrim.timer.d/override.conf
3.
gedit admin:///etc/systemd/system/fstrim.timer.d/override.conf
4.
.... en daarna dit tekstblokje invoegen in dat lege tekstdocument:
[Timer]
OnCalendar=     
OnCalendar=daily

5. Herstart.

6. Controle met:
systemctl cat fstrim.timer
Verwachte uitkomst:
# /lib/systemd/system/fstrim.timer
[Unit]
Description=Discard unused blocks once a week
Documentation=man:fstrim

[Timer]
OnCalendar=weekly
AccuracySec=1h
Persistent=true

[Install]
WantedBy=timers.target

# /etc/systemd/system/fstrim.timer.d/override.conf
[Timer]
OnCalendar=     
OnCalendar=daily

7. Eventueel ongedaan maken:
sudo rm -v /etc/systemd/system/fstrim.timer.d/override.conf
Herstart.



« Laatst bewerkt op: 2018/05/04, 22:16:02 door Pjotr »

Offline vanadium

  • Lid
Re: SSD trim: Cron daily
« Reactie #23 Gepost op: 2018/05/04, 22:39:09 »
Een kleine toevoeging: als ik het gebruik van Nano wil vermijden, en liever Gedit gebruik, kan ik ook dit doen:
Hoe denk je dan nog een zeker nerd gehalte te kunnen handhaven bij je kennissen?  =D

Dit is zeker ook een geldige weg naar Rome. Nog twee kleine opmerkingen:

Citaat
5. Herstart.
Laat dit achterwege, want maakt niets uit: alles wat je doet, is op niveau van het bestandssysteem. Er wordt niets gewijzigd aan de lopende services. Je controle vóór de herstart is dus even geldig als erna. Beter dan controle voor het herstarten! Dan is er minder kans dat je herstart met een mogelijke fout.

Citaat
7. Eventueel ongedaan maken:
sudo rm -v /etc/systemd/system/fstrim.timer.d/override.conf
Om volledig te zijn, moet je hier ook de folder /etc/systemd/system/fstrim.timer.d terug verwijderen: sudo rmdir /etc/systemd/system/fstrim.timer.d