Objet : Liste pour les discussions techniques (liste à inscription publique)
Archives de la liste
[April technique] comment démarrer un démon syncperiodically (et financer RefPerSys)
Chronologique Discussions
- From: Basile Starynkevitch <basile AT starynkevitch.net>
- To: technique AT april.org
- Subject: [April technique] comment démarrer un démon syncperiodically (et financer RefPerSys)
- Date: Mon, 7 Nov 2022 07:17:29 +0100
Bonsoir la liste APRIL et Debian User French
J'ai développé en un soir l'utilitaire sync-periodically https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c
(GPLv3+)
Comme son nom l'indique, il appelle toutes les
quelques secondes sync(2)
sur un ordinateur Linux (desktop ou laptop avec
beaucoup de RAM, par exemple plus de 32Go de RAM) pour
vidanger les caches des fichiers sur le disque.
1. Comment le démarrer proprement au démarrage d'un Debian (ou Ubuntu) récent?
2. Comment le packager dans Debian?
D'après la page du manuel de l'appel système sync(2)
sync() causes all pending modifications to filesystem metadata and cached file data to be written to the underlying filesystems.
Si on a la chance d'avoir une machine puissante de bureau -sans
batterie ni onduleur-, avec plein de RAM (par exemple 32Go), et
qu'on modifie souvent des fichiers (par exemple parce qu'on code
quelquechose sous GNU emacs en
C++) et qu'on a la malchance de subir une coupure de courant
inopinée (orage, quelqu'un qui se prend les pieds dans le cable,
etc...), appeler sync(2)
toutes les deux secondes évite de perdre trop de fichiers. En
effet, leurs données et métadonnées sont pratiquement maintenues
en RAM
Pour un dévelopeur, ça peut éviter une heure de perdue. Bien
sûr, si on a un disque rotatif, ça l'use un peu plus (la
mécanique est sollicitée toutes les deux secondes). Mais de nos
jours ces disques sont fiables mécaniquement.
D'ailleurs, à l'époque de SunOS3.5 (dans les années 1985,
station Sun3/160), sur des disques rotatifs, la documentation
précisait explicitement qu'il fallait lancer la commande
sync(1)
(qui appelle sync(2)...)
avant tout risque de coupure de courant, ou tout arrêt de la
machine par la commande shutdown.
A l'époque, un fsck de
réparation pouvait durer des dizaines de minutes, et le sync faisant gagner des heures de
travail. Perdre un fichier source est énervant pour un
dévelopeur.
-- Basile Starynkevitch <basile AT starynkevitch.net> (only mine opinions / les opinions sont miennes uniquement) 92340 Bourg-la-Reine, France web page: starynkevitch.net/Basile/
-
[April technique] comment démarrer un démon syncperiodically (et financer RefPerSys),
Basile Starynkevitch, 07/11/2022
- Re: [April technique] comment démarrer un démon syncperiodically (et financer RefPerSys), Bernard Choppy, 07/11/2022
Archives gérées par MHonArc 2.6.19+.