[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Commande sync



Bonsoir,

On avait, il y a déja quelques temps parlé sur cette liste de comment
faire pour vider les caches du systèmes.

On en était arrivé à :

# sync ; sync ; sync ; echo 3 > /proc/sys/vm/drop_caches

Je m'étais demandé pourquoi il fallait flusher 3 fois les buffers avec
la commande sync. Cela m'était ensuite sortie de la tête, et je viens
par hasard de retomber sur cette commande.

# mkswap /dev/hda5
# sync; sync; sync
# swapon /dev/hda5

La man page de sync sous Debian ne me donne pas beaucoup
d'informations, mais sur le net, j'arrive à obtenir un peu plus.

#<<
La commande sync écrit sur le disque toutes les données dans les buffers
en mémoire. Ceci peut inclure les superblocs modifiés, les i-noeuds
modifiés, et les écritures différées. Ceci est implémenté dans le noyau,
le programme sync ne fait rien d'autre que d'invoquer l'appel-système
sync(2).
#>>

Et un autre :

#<<
Sous Linux, sync garantit seulement que l'écriture des blocs modifiés
est programmée. Il peut y avoir un petit retard entre le retour de
l'appel-système et l'écriture effective. Les commandes reboot(8)  et
halt(8)  gèrent ceci en dormant quelques secondes après l'invocation de
sync(2) .
#>>

J'en déduirais que l'utilisation de 3 sync aurait pour but d'être
certains que pour la fin de l'appel au 3eme sync, les buffers soient
_flushés_.

Quelqu'un pourrait-il confirmer ?

Merci et bonne nuit.

-- 
Franck Joncourt
http://www.debian.org - http://smhteam.info/wiki/
GPG server : pgpkeys.mit.edu
Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE

Attachment: signature.asc
Description: Digital signature


Reply to: