Casa - Conoscenza - Dettagli

Come configurare un sistema Linux per ottimizzare la precisione della sincronizzazione PTP

Secondo la tua precedente ricerca sugli scenari di sincronizzazione PTP a doppio-sensore in un ambiente Linux, il kernel, i driver e i servizi devono essere tutti affrontati per ottimizzare la precisione PTP in un sistema Linux. Intraprendi queste azioni:

 

I. Ottimizzazione del Kernel Layer (Prerequisiti)

Attiva i timer ad alta-precisione

Per ridurre l'interferenza degli interrupt dell'orologio e migliorare le prestazioni in tempo reale-del contrassegno del timestamp, assicurati che la configurazione del kernel abbia `CONFIG_HIGH_RES_TIMERS=y` e `CONFIG_NO_HZ_IDLE=y` abilitati.


Core CPU separati

Per collegare il servizio PTP a un core CPU separato e impedire ad altri programmi di occupare risorse e creare ritardi di pianificazione, aggiungi `isolcpus=1` ai parametri di avvio `grub.cfg`.

 

II. Livello hardware e adattamento dei driver

Driver dedicati per il caricamento

Installa i driver specifici PTP- forniti dal produttore della scheda di rete (come Intel IGB) dopo aver disinstallato i driver pubblici generici. Per caricare il modulo del kernel PTP, utilizzare `modprobe ptp`.

Controlla il nodo hardware

Verifica l'esistenza di `/dev/ptp0` e l'efficacia del timestamp hardware controllando che `ethtool -T eth0` produca un campo `HARDWARE`.

 

III. Ottimizzazione del servizio PTP

Modifica `ptp4l.conf`

Per il monitoraggio, imposta "logging_level" su 6, abilita "twoStepFlag" su 1, imposta "transportSpecific" su 1 e imposta l'intervallo di sincronizzazione su "logSyncInterval -3" (125 ms).

Allineare l'orologio di sistema

Per garantire che il livello dell'applicazione riceva un'ora ad alta-precisione, esegui `phc2sys -s /dev/ptp0 -w` per sincronizzare l'orologio hardware PHC con l'orologio di sistema.

IV. Ottimizzazione degli stack di rete

Per aumentare il budget per l'elaborazione dei pacchetti di rete, ridurre la latenza dei soft interrupt e stabilizzare ulteriormente l'offset della sincronizzazione, utilizzare `sysctl -w net.core.netdev_budget=600`.

Secondo la tua precedente ricerca sugli scenari di sincronizzazione PTP a doppio-sensore in un ambiente Linux, il kernel, i driver e i servizi devono essere tutti affrontati per ottimizzare la precisione PTP in un sistema Linux. Intraprendi queste azioni:

 

I. Ottimizzazione del Kernel Layer (Prerequisiti)

Attiva i timer ad alta-precisione

Per ridurre l'interferenza degli interrupt dell'orologio e migliorare le prestazioni in tempo reale-del contrassegno del timestamp, assicurati che la configurazione del kernel abbia `CONFIG_HIGH_RES_TIMERS=y` e `CONFIG_NO_HZ_IDLE=y` abilitati.


Core CPU separati

Per collegare il servizio PTP a un core CPU separato e impedire ad altri programmi di occupare risorse e creare ritardi di pianificazione, aggiungi `isolcpus=1` ai parametri di avvio `grub.cfg`.

 

II. Livello hardware e adattamento dei driver

Driver dedicati per il caricamento

Installa i driver specifici PTP- forniti dal produttore della scheda di rete (come Intel IGB) dopo aver disinstallato i driver pubblici generici. Per caricare il modulo del kernel PTP, utilizzare `modprobe ptp`.

Controlla il nodo hardware

Verifica l'esistenza di `/dev/ptp0` e l'efficacia del timestamp hardware controllando che `ethtool -T eth0` produca un campo `HARDWARE`.

 

III. Ottimizzazione del servizio PTP

Modifica `ptp4l.conf`

Per il monitoraggio, imposta "logging_level" su 6, abilita "twoStepFlag" su 1, imposta "transportSpecific" su 1 e imposta l'intervallo di sincronizzazione su "logSyncInterval -3" (125 ms).

Allineare l'orologio di sistema

Per garantire che il livello dell'applicazione riceva un'ora ad alta-precisione, esegui `phc2sys -s /dev/ptp0 -w` per sincronizzare l'orologio hardware PHC con l'orologio di sistema.

IV. Ottimizzazione degli stack di rete

Per aumentare il budget per l'elaborazione dei pacchetti di rete, ridurre la latenza dei soft interrupt e stabilizzare ulteriormente l'offset della sincronizzazione, utilizzare `sysctl -w net.core.netdev_budget=600`.
info-673-462

 

Invia la tua richiesta

Potrebbe piacerti anche