[Sequanux-ml] Temps d'accès disques

Simon Guinot simon.guinot at sequanux.org
Lun 3 Déc 15:12:55 CET 2018


On Mon, Dec 03, 2018 at 10:53:10AM +0100, Daniel Gonçalves wrote:
> Bonjour,

Salut Daniel.

> 
> 
> Non, je ne suis pas mort! Et j'espère que tout va bien du côté de Sequanux
> :)
> 
> 
> J'ai une question un peu technique: j'ai un collègue qui souhaiterait
> chronométrer les temps d'accès disque de certains processus en vue de
> diminuer leurs priorité au dela d'une certaine durée, et du coup je me
> demande s'il n'existerait pas des APIs au niveau des drivers fs ou du noyau
> directement pour faire ça. Avez-vous des pistes de ce point de vue? (poke
> Simon Guinot)

Si je devais faire ça, je regarderais du côté de cgroup (blkio):

https://www.kernel.org/doc/Documentation/cgroup-v1/blkio-controller.txt

Tu peux t'en servir pour mettre en place du "throttling" sur les I/Os
des processus que tu veux limiter. Je ne développe pas car il y a pas
mal de littérature disponible sur internet.

Pour "le temps d'accès" d'un processus à un disque, je pense que c'est
une notion un peu trop vague. Par exemple un processus qui accède
"longtemps" à un disque, mais avec une faible bande passante, alors je
ne pense pas que tu veuilles le limiter... Peut-être que tu veux plutôt
limiter un processus lorsque sa bande passante moyenne sur x secondes
dépasse un certain seuil.

Dans tous les cas, les statistiques I/Os des processus sont disponibles
sous /proc/$pid. Tu as tout là dedans pour implémenter la surveillance
de tes processus.

Et pour finir, je dirais que Linux gère les IOs correctement pour la
plupart des cas d'usage. Avoir besoin de limiter les IOs de processus,
ce n'est pas un besoin "normal". Et donc avoir ce besoin cela veut
peut-être dire qu'il y a un problème ailleurs :)

A+

Simon
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: signature.asc
Type: application/pgp-signature
Taille: 833 octets
Desc: non disponible
URL: <http://sequanux.org/pipermail/sequanux-ml/attachments/20181203/95c690bd/attachment.sig>


Plus d'informations sur la liste de diffusion Sequanux-ml