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

Dernière mise à jour : 13/08/2020

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épertorier les sources d'horloge disponibles ou modifier la source d'horloge.

Remarque : Il existe différentes 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 recommandé 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 AWS est kvm-clock.

Résolution

Pour trouver la source d'horloge

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

Pour trouver la source d'horloge actuelle, utilisez la commande current_clocksource pour répertorier le contenu du fichier :

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

Pour répertorier la source d'horloge, utilisez la commande 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 a réussi, ce message 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 une source d'horloge pendant l'utilisation du chargeur de démarrage du système

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

Par exemple, si vous utilisez grub2 et que vous souhaitez définir la source d'horloge sur « tsc », modifiez le fichier /etc/default/grub et ajoutez 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 ?