Những gì đồng hồ nguồn của tsc không ổn định có nghĩa là gì?


10

Bất cứ khi nào tôi thấy Linux khởi động, tôi thấy thông báo này:

clockource tsc không ổn định (delta = NNNNNNNN ns)

Trong đó NNNNNNNN là một số rất lớn có thể dương hoặc âm.

Thông điệp này có ý nghĩa gì? Tôi có nên lo lắng về điều này?


Tôi nghĩ tscđề cập đến Bộ đếm thời gian . Nếu điều đó giúp.
Der Hochstapler

Ngoài ra, với những gì tôi tìm thấy về tin nhắn này trên mạng, bạn có thấy tin nhắn này trên máy thật hay máy ảo không. Có vẻ như điều đó có liên quan.
Der Hochstapler

Cả vật lý và ảo. Tôi nhận được thông báo này trên một số hệ thống khác nhau khi tôi khởi động Linux trên chúng.
bwDraco

Tôi đã nhận được chính xác thông báo này /var/log/messagekhi thêm tùy chọn "acpi = off" vào /etc/grub.conf( kernel=tùy chọn dưới dạng ). Khi tôi gỡ bỏ nó, khởi động lại, tin nhắn đã biến mất. CentOS 6 với Kernel: .6.32-279.19.1.el6.x86_64

Câu trả lời:


8

Tôi thành thật nhìn thấy tin nhắn này lần đầu tiên ngày hôm nay và không biết nó thực sự có nghĩa là gì.

Điều đó đang được nói, tôi đã đọc bài viết Wikipedia trên Time Stamp Counter (đó là những gì tsctrong thông báo lỗi là viết tắt). Bài viết đề cập đến một vấn đề với TSC trong đoạn thứ hai:

Bộ đếm thời gian, cho đến gần đây, là một cách tuyệt vời để có được thông tin về thời gian của CPU. Với sự ra đời của CPU đa lõi / siêu phân luồng, các hệ thống có nhiều CPU và hệ điều hành "ngủ đông", TSC không thể dựa vào để cung cấp kết quả chính xác- trừ khi được chăm sóc cẩn thận để sửa các lỗi có thể xảy ra: tốc độ đánh dấu và liệu tất cả các lõi (bộ xử lý) có giá trị giống hệt nhau trong các thanh ghi giữ thời gian của chúng hay không. Không có gì hứa hẹn rằng bộ đếm dấu thời gian của nhiều CPU trên một bo mạch chủ sẽ được đồng bộ hóa. Trong những trường hợp như vậy, lập trình viên chỉ có thể nhận được kết quả đáng tin cậy bằng cách khóa mã của họ vào một CPU. Ngay cả khi đó, tốc độ CPU có thể thay đổi do các biện pháp tiết kiệm năng lượng được thực hiện bởi HĐH hoặc BIOS, hoặc hệ thống có thể được ngủ đông và sau đó được nối lại (đặt lại bộ đếm thời gian). Trong những trường hợp sau, để duy trì liên quan, bộ đếm phải được kiểm tra lại định kỳ (theo độ phân giải thời gian mà ứng dụng của bạn yêu cầu).

Nói tóm lại, trên các hệ thống hiện đại, TSC hút để đo thời gian chính xác . Và đó là những gì tin nhắn đang nói với bạn. Trên hệ thống của bạn, TSC không phải là nguồn thời gian ổn định.

Các deltaghi chú khác, tôi sẽ giả định, là vùng đồng bằng thời gian báo cáo giữa hai ve của TSC. Có nghĩa là, mỗi khi TSC đếm ngược 1, NNNNNNNNNnano giây sẽ trôi qua. Vì vậy, đó là cách bạn thường có thể giữ thời gian rất chính xác.

Hạt nhân linux sẽ kiểm tra tần số này nhiều lần (để xác định xem nguồn có ổn định không) và nó có kết quả khác nhau. Như vậy, tin nhắn.


Vì vậy, bạn cần phải quan tâm?
Tôi thực sự không biết. Theo hiểu biết của tôi, vấn đề này phát sinh từ các quá trình được "di chuyển" giữa các lõi (mỗi lõi có thể có tần số TSC khác nhau) hoặc lõi thay đổi tần số lõi của nó (như tiết kiệm năng lượng).

Nhiều khả năng, thông báo chỉ được in vì kernel đã tự phát hiện vấn đề này và bây giờ sẽ điều chỉnh cho phù hợp.

Và, từ những gì tôi đọc được trong các nguồn kernel ( arch/x86/kernel/tsc.c), tôi không nghĩ mình quá xa vời với những giả định của mình.

Tôi nghi ngờ tin nhắn có nghĩa là một điều kiện quan trọng. Và tôi dựa trên giả định rằng bây giờ bạn sẽ biết nếu nó quan trọng.


2
Trích dẫn từ cùng một bài viết, một số CPU hiện đại cũng cung cấp Bộ đếm thời gian không đổi : Các bộ xử lý Intel gần đây bao gồm TSC tốc độ không đổi (được xác định bằng cờ Constant_tsc trong Linux / Proc / cpuinfo). Với các bộ xử lý này, TSC đọc ở tốc độ tối đa của bộ xử lý bất kể tốc độ chạy CPU thực tế.
scai

Bạn có đề nghị sử dụng hpet thay vì tsc?
CMCDragonkai

1
Tôi chỉ muốn thêm thông tin. Hôm nay tôi phải đối mặt với vấn đề này trên một trong những máy chủ của chúng tôi. Hệ điều hành là RHEL 6.5 và nó đang đưa ra thông điệp tương tự. Và máy chủ này đang bò với tốc độ ốc ngay bây giờ. Đã một giờ và khởi động chưa hoàn thành. Bước tiếp theo của tôi sẽ là thay đổi bộ đếm và thêm thông tin trong tệp grub.conf bằng cách vào chế độ cứu hộ. Bởi vì chế độ người dùng đơn cũng không hoạt động
OmiPenguin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.