Provided by: manpages-fr-dev_4.13-4_all bug

NOM

       posix_madvise – Donner des indices sur les tendances de l'utilisation mémoire

SYNOPSIS

       #include <sys/mman.h>

       int posix_madvise(void *addr, size_t len, int advice);

   Exigences    de    macros    de   test   de   fonctionnalités   pour   la   glibc   (consulter
   feature_test_macros(7)) :

       posix_madvise() :
           _POSIX_C_SOURCE >= 200112L

DESCRIPTION

       La fonction posix_madvise() permet à un programme  d'indiquer  au  système  les  tendances
       attendues  de l'utilisation mémoire de la plage d'adresses commençant à addr et s'étendant
       sur len octets. Le système peut utiliser ces indications afin d'améliorer les performances
       d'accès  mémoire  ou est libre de les ignorer complètement, mais l'appel à posix_madvise()
       ne doit pas influencer la sémantique des accès mémoire dans la plage spécifiée.

       L'argument advice contient une des valeurs suivantes :

       POSIX_MADV_NORMAL
              L'application n'a pas d'indice particulier concernant les  tendances  d'utilisation
              mémoire pour la plage d'adresses spécifiée. C'est le comportement par défaut.

       POSIX_MADV_SEQUENTIAL
              L'application  prévoit  d'accéder séquentiellement à la plage d'adresses spécifiée,
              des adresses basses aux adresses hautes. Par conséquent, les pages de cette  région
              peuvent  être  systématiquement  lues  par  anticipation  et  peuvent être libérées
              rapidement après avoir été accédées.

       POSIX_MADV_RANDOM
              L'application prévoit d'accéder aléatoirement  à  la  plage  d'adresses  spécifiée.
              Ainsi, la lecture anticipée sera moins utile qu'elle ne l'est en général.

       POSIX_MADV_WILLNEED
              L'application  prévoit  d'accéder  prochainement  à  la plage d'adresses spécifiée.
              Ainsi, la lecture anticipée peut être bénéfique.

       POSIX_MADV_DONTNEED
              L'application ne prévoit pas d'accéder dans un futur proche à la  plage  d'adresses
              spécifiée.

VALEUR RENVOYÉE

       En  cas de succès, posix_madvise() renvoie zéro. En cas d'erreur, un code d'erreur positif
       est renvoyé.

ERREURS

       EINVAL addr n'est pas un multiple de la taille de page du système ou len est négatif.

       EINVAL advice n'est pas valable.

       ENOMEM Les adresses de l'intervalle spécifié sont partiellement ou entièrement  en  dehors
              de l'espace d'adressage du processus appelant.

VERSIONS

       La  prise  en  charge  de  posix_madvise()  est  apparue  pour  la  première  fois dans la
       version 2.2 de la glibc.

CONFORMITÉ

       POSIX.1-2001.

NOTES

       POSIX.1 autorise l'implémentation à générer une erreur si len est 0. Sur Linux,  passer  0
       dans len est permis (en tant qu'opération sans effet réussie).

       Dans  la  glibc, cette fonction est implémentée en utilisant madvise(2). Cependant, depuis
       la glibc 2.6, POSIX_MADV_DONTNEED est traitée comme une opération vide parce que la valeur
       de madvise(2) correspondante, MADV_DONTNEED, a une sémantique destructrice.

VOIR AUSSI

       madvise(2), posix_fadvise(2)

COLOPHON

       Cette  page  fait partie de la publication 5.10 du projet man-pages Linux. Une description
       du projet et des instructions pour signaler des anomalies et la dernière version de  cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La  traduction  française  de  cette  page  de  manuel  a  été créée par Christophe Blaess
       <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <stephan.rafin@laposte.net>,  Thierry
       Vignaud  <tvignaud@mandriva.com>,  François Micaux, Alain Portal <aportal@univ-montp2.fr>,
       Jean-Philippe   Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)    <jean-
       luc.coulon@wanadoo.fr>,    Julien    Cristau    <jcristau@debian.org>,    Thomas   Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau  <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis
       Barbier  <barbier@debian.org>,  David  Prévot  <david@tilapin.org>   et   Grégoire   Scano
       <gregoire.scano@malloc.fr>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   concernant   les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à debian-l10n-french@lists.debian.org ⟨⟩.