בהתבסס על ההתמקדות הקודמת שלך בתרחישי סנכרון PTP כפולים-עם חיישנים בסביבת Linux, אופטימיזציה של דיוק ה-PTP במערכת Linux מחייבת התייחסות לליבה, לדרייברים ולשירותים. בצע את השלבים הבאים:
I. אופטימיזציה של שכבת ליבה (דרישות מוקדמות בסיסיות)
הפעל טיימרים-בדיוק גבוה
ודא שבתצורת הליבה מופעלים `CONFIG_HIGH_RES_TIMERS=y` ו-`CONFIG_NO_HZ_IDLE=y` כדי לצמצם את הפרעות ההפרעות בשעון ולשפר את הביצועים בזמן אמת של סימון חותמת זמן.
לבודד את ליבות המעבד
הוסף `isolcpus=1` לפרמטרי האתחול `grub.cfg` כדי לאגד את שירות PTP לליבת CPU עצמאית, ולמנוע מתהליכים אחרים להקדים משאבים ולגרום לעיכובים בתזמון.
II. התאמת שכבת מנהלי התקנים וחומרה
טען דרייברים ייעודיים
הסר את התקנת מנהלי התקנים ציבוריים כלליים והתקן מנהלי התקנים ספציפיים ל-PTP- שסופקו על ידי יצרן כרטיס הרשת (כגון Intel IGB). הפעל `modprobe ptp` כדי לטעון את מודול ליבת ה-PTP.
אמת צומת חומרה
ודא ש-`/dev/ptp0` קיים וכי `ethtool -T eth0` מוציא שדה `HARDWARE`, מה שמבטיח שחותמת הזמן של החומרה יעילה.
III. כוונון-שירות PTP עדין
ערוך את `ptp4l.conf`
הגדר את 'transportSpecific' ל-1, הפעל את 'twoStepFlag' ל-1, הגדר את 'logging_level' ל-6 לניטור, והגדר את מרווח הסנכרון ל-'logSyncInterval -3' (125ms).
סנכרון שעון מערכת
הפעל את `phc2sys -s /dev/ptp0 -w` כדי לסנכרן את שעון החומרה של PHC לשעון המערכת, כדי להבטיח ששכבת היישום תקבל זמן דיוק- גבוה.
IV. אופטימיזציה של מחסנית רשת
הפעל `sysctl -w net.core.netdev_budget=600` כדי להגדיל את תקציב עיבוד מנות הרשת, להפחית את זמן האחזור של הפסקות רכות ולייצב עוד יותר את היסט הסנכרון.

