Codaz U Can’t VMTouch This

April 11th, 2012 par Klyr

Quelle ne fut pas ma joie quand aujourd’hui j’ai pu me changer les idées en jouant avec vmtouch.

Un petit programme C, tout mignon, qui nous permet de jouer avec le cache fichier: savoir quelle part d’un fichier est en cache, monter un fichier en cache, virer un fichier du cache.

Tout cela grace à des syscalls bien sympas:

  • mincore(2) pour savoir quels sont les pages en mémoire,
  • posix_fadvise(2) sur linux pour expliquer à l’OS si on veut garder ou virer un fichier du cache,
  • msync(2) sur FreeBSD sert à peu près à la même chose,
  • mlock(2) et mlockall(2) pour locker des pages en RAM.

Exemple d’utilisation: pré-cacher les mêmes fichiers sur un slave que sur un master pour qu’au moment du failover il n’y ait pas de ralentissement.

Dans le même genre, voilà un petit patch de rsync qui utilise posix_fadvise(2) et mincore(2) pour éviter à l’OS de perturber le cache fichier à cause d’un gros rsync et éviter les ralentissements.

Ça peut toujours servir quand on backup une DB et qu’on ne veut pas que le cache fichier soit totalement utlisé par les fichiers de la DB.

Le tout très bien expliqué ici par notre ami RRD.

Posté dans Codaz, FreeBSD, Linux, Unix | No Comments »

Répondre

Vous devez être identifié pour poster un commentaire.

Identification

Enregistrez-vous

SQUAD!

GCU live

[10:10:38] petrus_lt ben on va voir ce que dit rhonrhon https://fai-project.org ?
[10:10:45] petrus_lt erf
[10:17:30] zprd jaures?
[10:18:36] zprd rabbit: celui pres de la gare du nord
[10:19:03] zprd le christopher's
[10:26:45] rabbit zprd: non vers barbes, station marx dormoy
[10:28:14] pnl meufs legit
[10:28:15] pnl barbes
[10:35:22] zprd pas vraiement barbes
[10:35:39] zprd c'est plus pres du 104
[10:36:14] zprd on y mange du Mafe bien gras

Miiissioudaaam'

Archives:

Meta:

Hosted by:

NBS-System