GNU/Linux >> Tutoriels Linux >  >> Linux

Dans quels cas CLOCK_MONOTONIC peut ne pas être disponible

Est-il raisonnable de supposer que l'horloge CLOCK_MONOTONIC est disponible sur tous les serveurs Linux modernes ?

Oui. Il est raisonnable de supposer que.

D'après le libellé de l'entrée du manuel gettime, nous pouvons déduire que les très anciennes versions de glibc ne prennent pas en charge CLOCK_MONOTONIC . (J'essaie toujours de déterminer l'âge ... mais probablement quand la glibc a revendiqué la conformité POSIX 1003.1.)

CLOCK_MONOTONIC a été spécifié (au moins) dans IEEE Std 1003.1, édition 2004, bien qu'il reste possible qu'une implémentation libc conforme ne supporte pas CLOCK_MONOTONIC .

Le code source du noyau Linux a pris en charge un CLOCK_MONOTONIC horloge au moins depuis Linux 3.0 (2011).

À partir d'autres sources, cela dépend également de la façon dont la glibc de votre système a été construite. (Lorsqu'il est construit avec des "minuteries émulées", CLOCK_MONOTONIC n'est pas pris en charge.)

Voici quelques cas où il n'est pas pris en charge :

  • Il peut y avoir des problèmes avec certaines anciennes puces CPU; par exemple. https://bugzilla.redhat.com/show_bug.cgi?id=1499480

  • Il n'est pas pris en charge pour certaines (toutes ?) versions de Cygwin.

  • Il n'est pas pris en charge pour certaines (toutes ?) versions de uCLibc sur ARM.

C'est aussi possible pour CLOCK_MONOTONIC à supporter mais bogué :

  • Linux clock_gettime(CLOCK_MONOTONIC) étrange comportement non monotone

Est-il raisonnable de supposer que l'horloge CLOCK_MONOTONIC est disponible sur tous les serveurs Linux modernes ?

Je ne peux que commenter cette question. Oui, il est raisonnable que tous les systèmes de production que vous utilisez aient une horloge monotone à laquelle Linux sait accéder. Cela est également vrai pour les serveurs virtuels et conteneurs.

Une bonne ingénierie vous oblige à vérifier cela et à éliminer les erreurs si une hypothèse n'est pas respectée, mais je compterais sur cela au moment de la conception.


Linux
  1. Linux vs Unix :Quelle est la différence ?

  2. Qu'est-ce qu'Umask sous Linux

  3. Linux - Qu'est-ce qui rend les programmes Osx non exécutables sous Linux ?

  4. Quoi ne pas mettre sur un SSD ?

  5. Qu'est-ce que Red Hat Linux ?

Audio Linux - seuls les haut-parleurs ou le microphone sont disponibles, pas les deux

Qu'est-ce que le shell de connexion sous Linux ?

Qu'est-ce que la moyenne de charge sous Linux ?

Qu'est-ce qu'un fichier .bashrc sous Linux ?

Top 10 des distributions Linux

Quelles applications de montage vidéo sont disponibles sous Linux ?