Comment gérer la source d'horloge pour les instances EC2 exécutant Linux ?

Dernière mise à jour : 07/02/2022

Comment puis-je déterminer quelle est la source d'horloge utilisée par une instance Amazon Elastic Compute Cloud (Amazon EC2) exécutant Linux, et comment puis-je la modifier ?

Brève description

En utilisant un client SSH, vous pouvez trouver la source d'horloge actuelle, répertoriez les sources d'horloge disponibles ou modifier la source d'horloge.

Remarque : il existe de nombreuses sources d'horloge disponibles pour les instances HVM (Hardware Virtual Machine), telles que Xen, TSC (Time Stamp Counter), HPET (High Precision Event Time) ou ACPI (Advanced Configuration and Power Interface Specification). Pour les instances EC2 lancées sur l'hyperviseur AWS Xen, il est une bonne pratique d'utiliser la source d'horloge tsc. D'autres types d'instance EC2, tels que C5 ou M5, utilisent l'hyperviseur Nitro AWS. La source d'horloge recommandée pour l'hyperviseur Nitro d'AWS est kvm-clock.

Remarque : les processeurs AWS Graviton2 utilisent arch_sys_counter comme source d'horloge.

Solution

Pour trouver la source d'horloge

Ouvrez un client SSH dans votre instance EC2, puis exécutez les commandes suivantes pour rechercher la source d'horloge actuelle et les sources d'horloge disponibles.

Pour trouver la source d'horloge actuellement définie, répertoriez le contenu du fichier current_clocksource :

cat /sys/devices/system/clocksource/clocksource0/current_clocksource
xen

Pour répertorier les sources d'horloge disponibles, répertoriez le contenu du fichier available_clocksource :

cat /sys/devices/system/clocksource/clocksource0/available_clocksource
xen tsc hpet acpi_pm

Pour définir la source d'horloge actuelle sur une autre valeur

1.    Exécutez bash en tant que super-utilisateur pour remplacer la source current_clocksource :

sudo bash -c 'echo tsc > /sys/devices/system/clocksource/clocksource0/current_clocksource'

2.    Exécutez la commande dmesg pour afficher les messages du noyau :

dmesg | less

Si le remplacement est réussi, le message suivant s'affiche :

clocksource: Switched to clocksource tsc

Remarque : le redémarrage du système entraîne la réinitialisation de la source de l'horloge par le noyau Linux.

Pour définir définitivement la source d'horloge

Pour définir définitivement la source d'horloge, définissez la source dans le chargeur de démarrage du système :

1.    Définissez clocksource dans le paramètre de ligne de commande du noyau.

Par exemple, si vous utilisez grub2 et que vous voulez définir la source d'horloge sur « tsc », ouvrez /etc/default/grub dans un éditeur. Ajoutez ensuite clocksource=tsc tsc=reliable pour l'option GRUB_CMDLINE_LINUX :

GRUB_CMDLINE_LINUX="console=tty0 crashkernel=auto console=ttyS0,115200 clocksource=tsc tsc=reliable"

2.    Générez le fichier grub.cfg :

grub2-mkconfig -o /boot/grub2/grub.cfg

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?