Có cách nào để xem tần số CPU hiện tại trong macOS từ thiết bị đầu cuối (không phải tiện ích nguồn của Intel)


14

Tôi biết những câu trả lời sau:

/programming/9948987/detect-civerse-cpu-clock-speed-programmatically-on-os-x

Xem tốc độ xung nhịp hiện tại của CPU trong OS X?

Mà gọi Intel Power Gadgetlà một cách để có được tần số CPU hiện tại, có một chương trình / phương pháp để có được thông tin này từ thiết bị đầu cuối không?

sysctl hw.cpufrequencychỉ hiển thị tần số danh nghĩa của CPU, tức là những gì nhà sản xuất đã nêu. Nó không xem xét Turbo Boost hoặc tần số thấp hơn khi CPU không hoạt động. (Ví dụ: nếu CPU là i5, 1,4GHz, nó sẽ luôn ở mức 1,4GHz)

Các Cgiải pháp cho nó sử dụng SO sysctl.hcó tác dụng tương tự.


Các câu trả lời đằng sau liên kết StackOverflow chứa câu trả lời dựa trên Terminal. Bạn có thể mô tả làm thế nào điều này không làm việc cho bạn?
nohillside

Tất cả các giải pháp trên SO chỉ hiển thị tần số CPU danh nghĩa, nó không thay đổi theo tần số thực tế và không tương quan với Power
Utility


Theo những gì tôi hiểu, "tần số" được tính dựa trên một số yếu tố. Không có "đầu dò" nào được kết nối với CPU để đo thời gian thực tần số thực sự là bao nhiêu.
Allan

1
Nếu nó hoạt động trên Linux, nó có phải là một tùy chọn để xem mã nguồn ở đó không?
nohillside

Câu trả lời:


4

Vì nhận xét của bạn đề cập rằng bạn thực sự chỉ tập trung vào việc bật Terminal (hay chính xác hơn là không phải máy tính để bàn) ...

Tôi nghĩ rằng Tiện ích Intel Power sẽ giúp bạn lấy thông tin từ Terminal. Từ Intel :

Intel® Power Utility cũng cung cấp Giao diện lập trình ứng dụng (API) C / C ++ để truy cập dữ liệu nguồn và tần số này trong chương trình của bạn; API được hỗ trợ trên Windows và Mac OS X. Để biết thêm thông tin về API, hãy xem:

Và trên cùng trang đó, cũng là một liên kết đến Sử dụng API Intel Power Utility trên Mac OS X

Xin lỗi, đây không phải là một liên kết đến một giải pháp vượt trội; Tôi đã dành vài phút với google để xem liệu tôi có thể tìm thấy ai đó đã làm điều này mà không gặp may mắn hay không.


1
Đây là câu trả lời tốt nhất cho đến nay. Tôi đã hy vọng có một cách để có được thông tin tần số mà không cần cài đặt phần mềm bên ngoài (với cái gì đó như sysctl), hoặc bằng cách sử dụng phần mềm nguồn mở.
amanusk

2

Thử top -F -n0 -s3 | grep "CPU usage"

tophiển thị và cập nhật thông tin được sắp xếp về các quy trình
-Fkhông tính toán thống kê trên các thư viện dùng chung (khung)
-n0hiển thị các quy trình không (vì chúng tôi không quan tâm đến chúng)
-s3cập nhật cứ sau 3 giây (mặc định là 1)
grepchỉ hiển thị cho chúng tôi dòng có chứa cụm từ sử dụng CPU

Kết quả ví dụ:

$ top -F -n0 -s3 | grep "CPU usage"
CPU usage: 9.36% user, 20.0% sys, 70.63% idle 
CPU usage: 8.35% user, 8.19% sys, 83.45% idle 
CPU usage: 8.18% user, 7.77% sys, 84.4% idle 
CPU usage: 5.89% user, 8.1% sys, 86.8% idle

Bạn thậm chí có thể phân tích đầu ra để hiển thị ở nơi khác.

Hãy lưu ý rằng topnó rất tốn tài nguyên trong khi nó đang chạy.

Chỉnh sửa: Ah, bạn muốn tần số. Tôi biết iStat Menusphải cài đặt một người trợ giúp để có được thông tin đó trong thời gian thực.


2
Thật vậy, tần suất là vấn đề, top và htop không cung cấp điều đó thật đáng tiếc.
amanusk

2

Tôi phải nghĩ rằng đây là một câu hỏi XY trong đó "Bạn sẽ làm gì khi nhận được số này?" và muốn trả lời trực tiếp điều đó, nhưng hãy đi sâu vào những gì bạn đang cố gắng đo lường. Các ngắt CPU trên macOS được định hình trong khoảng 150 ms và phần lớn chi tiết này được công khai từ WWDC 2013 và sau đó về quản lý năng lượng, App Nap ( đặc biệt là phiên 209 là tốt và dễ tiếp cận ) và tối ưu hóa thời lượng pin trên macOS.

hẹn giờ kết hợp - tiết kiệm năng lượng theo thang thời gian 150 ms trên macOS từ phiên WWDC 2013 209

Vì mã và mỗi lõi của CPU có thể và sẽ thay đổi hàng trăm lần một giây dựa trên các yếu tố tải phù du, tối ưu hóa năng lượng xem xét những gì hiển thị trên màn hình, dữ liệu mạng nào xuất hiện, ý tưởng rằng CPU hiện đại thậm chí còn có một "phổ biến "Tốc độ đồng hồ tại bất kỳ thời điểm nào dường như quá đơn giản hóa thực tế . Với 8 lõi trên nhiều MacBook Pro và hàng chục lõi trên iMac Pro - bạn đang biến một tấn phức tạp xuống còn một con số.

Các mức tăng khi một lõi đơn có thể chạy trên xung nhịp ít có khả năng dễ dàng đo được, nhưng bạn có thể đo tiết lưu nhiệt rất đơn giản chỉ bằng cách ghi nhật ký nhiệt pmset.

pmset -g therm

Tất nhiên, bạn có thể ghi lại các thay đổi tự phát vào điều chỉnh nhiệt của CPU pmset -g thermlogvà sau đó ánh xạ nó tới các thông số kỹ thuật của CPU nếu bạn có thể thu thập chúng ở nơi khác.


Một tùy chọn để có được tần số mỗi lõi cũng được hoan nghênh :). Tần số có thể thay đổi nhiều lần trong một giây, nhưng một mẫu của giây đó rất có thể là đủ, ví dụ, nếu bạn muốn biết tần số ở chế độ rảnh hoặc trong Turbo đầy đủ (như trong bài kiểm tra căng thẳng). Xác định công suất và nhiệt độ là thực sự có thể (mặc dù không đi thẳng) bằng cách đọc các phím SMC, tôi đã hy vọng có một phím SMC cho tần số là tốt. Thực tế là, có phần mềm có được thông tin này (tiện ích nguồn Intel), câu hỏi là làm thế nào người ta có thể làm điều này mà không cần phần mềm bổ sung.
amanusk
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.