Stats, trình giám sát hệ thống macOS trên thanh menu
(github.com/exelban)- Stats là ứng dụng giám sát CPU, GPU, bộ nhớ, ổ đĩa, mạng, pin, cảm biến, thiết bị Bluetooth và đồng hồ nhiều múi giờ ngay trên thanh menu macOS
- Có thể cài đặt bằng cách tải
Stats.dmgmới nhất rồi chuyển vào thư mục Applications, hoặc qua Homebrew bằngbrew install stats - Hỗ trợ các bản phát hành chính thức từ macOS 12 Monterey trở lên; phiên bản legacy cho hệ thống cũ được cung cấp dưới dạng tải xuống riêng
- Nếu biểu tượng trên thanh menu không hiển thị, có thể cần bật Stats rõ ràng trong kiểm soát quyền riêng tư System Settings → Menu Bar của macOS 26
- Các mô-đun Sensors và Bluetooth tương đối kém hiệu quả; tắt chúng có thể giảm tác động đến mức dùng CPU và hiệu suất điện năng tối đa 50% trong một số trường hợp
Các tính năng Stats cung cấp
- Stats là ứng dụng cho phép xem trạng thái hệ thống macOS từ thanh menu
- Các mục được giám sát bao gồm
-
Mức sử dụng CPU
-
Mức sử dụng GPU
- Mức sử dụng bộ nhớ
- Mức sử dụng ổ đĩa
- Mức sử dụng mạng
- Mức pin
- Điều khiển quạt
- Thông tin cảm biến: nhiệt độ, điện áp, công suất
- Thiết bị Bluetooth
- Đồng hồ nhiều múi giờ
-
Cài đặt và yêu cầu
- Có thể tải phiên bản mới nhất tại Stats.dmg
- Chỉ cần mở
Stats.dmgđã tải xuống và chuyển ứng dụng vào thư mục Applications
- Chỉ cần mở
- Cũng hỗ trợ cài đặt bằng Homebrew
brew install stats
- Phiên bản legacy cho hệ thống cũ được cung cấp tại trang tải xuống riêng
- Phiên bản macOS được hỗ trợ là các bản phát hành chính thức từ macOS 12 Monterey trở lên
Hành vi liên quan đến thanh menu và widget
- Thứ tự biểu tượng trên thanh menu do macOS quyết định, không phải Stats
- Sau lần khởi động lại đầu tiên sau khi cài Stats, thứ tự có thể thay đổi
- Trên macOS Mojave 10.14 trở lên, có thể giữ phím ⌘ rồi kéo biểu tượng đến vị trí mong muốn để thay đổi thứ tự
- Nếu biểu tượng Stats không xuất hiện trên thanh menu, nguyên nhân có thể là cơ chế kiểm soát quyền riêng tư mới của macOS 26
- Vị trí là System Settings → Menu Bar
- Nếu Stats đang chạy và ít nhất một mô-đun cùng widget đã được bật nhưng biểu tượng vẫn không hiển thị, cần kiểm tra thiết lập này
- Cách khắc phục là bật công tắc Stats sang ON
- Chi tiết liên quan có trong issue #3120
- Nếu dữ liệu widget trên desktop không hiển thị, phía Stats đang mặc định tắt giao tiếp
- Lý do là vấn đề tải dữ liệu cao của tiến trình hệ thống
chronod, tiến trình phụ trách giao tiếp giữa ứng dụng và widget - Cách khắc phục là bật tùy chọn macOS widgets trong cài đặt Stats sang ON
- Chi tiết liên quan có trong issue #2733
- Lý do là vấn đề tải dữ liệu cao của tiến trình hệ thống
Hiệu năng, cảm biến và hạn chế của điều khiển quạt
- Stats cố gắng vận hành hiệu quả, nhưng việc đọc định kỳ một số dữ liệu không phải là không tốn chi phí
- Mỗi mô-đun có tác động năng lượng và chi phí sử dụng CPU khác nhau
- Đặc biệt, các mô-đun Sensors và Bluetooth thuộc nhóm kém hiệu quả nhất
- Việc vô hiệu hóa các mô-đun này có thể giảm tác động đến mức dùng CPU và hiệu suất điện năng tối đa 50% trong một số trường hợp
- Điều khiển quạt là chế độ legacy
- Không có bản cập nhật hay bản sửa lỗi nào được cung cấp
- Tính năng này chưa bị gỡ khỏi ứng dụng vì vẫn hoạt động khá tốt trên các máy Mac cũ
- Có thể chấp nhận PR sửa lỗi hoặc cải tiến, nhưng tác giả cho biết không có thời gian và nguồn lực để hỗ trợ tính năng này
- Cảm biến CPU/GPU không liên quan trực tiếp đến số lõi hoặc một lõi cụ thể
- Cảm biến CPU/GPU là cảm biến vùng nhiệt của CPU/GPU
- Ví dụ, CPU thường được chia thành cụm lõi tiết kiệm điện và cụm lõi hiệu năng, mỗi cụm có nhiều cảm biến nhiệt độ
CPU Efficient Core 1không phải là nhiệt độ của một lõi tiết kiệm điện đơn lẻ, mà chỉ một cảm biến nhiệt độ bên trong cụm lõi tiết kiệm điện- Vì Apple thay đổi khóa cảm biến ở mỗi SoC mới, việc xác định giá trị SMC tương ứng với cảm biến phù hợp sẽ mất thời gian
API bên ngoài và yêu cầu mạng
- Stats sử dụng một số API bên ngoài
https://api.mac-stats.com: kiểm tra cập nhật và tra cứu địa chỉ IP công cộnghttps://api.github.com: đường dẫn dự phòng để kiểm tra cập nhật
- Cả hai API đều được dùng để kiểm tra cập nhật
- Cần có yêu cầu ra bên ngoài để lấy địa chỉ IP công cộng
- Do không muốn dùng nhà cung cấp bên thứ ba, dự án sử dụng máy chủ riêng
- Người dùng lo ngại về các yêu cầu này có một số lựa chọn
- Có thể đề xuất PR để chức năng hoạt động mà không cần máy chủ bên ngoài
- Có thể chặn hai máy chủ này bằng ứng dụng lọc mạng
- Nếu chặn, bạn sẽ không nhận được cập nhật hoặc không thể xem IP công cộng trong mô-đun mạng
Xử lý issue và cách đóng góp
- Nếu ứng dụng bị crash, trước tiên cần kiểm tra xem đang dùng phiên bản mới nhất hay chưa
- Rất có thể bản sửa lỗi chống crash đã được phát hành
- Nếu vẫn gặp vấn đề trên phiên bản mới nhất, cần kiểm tra các issue đang mở
- Chỉ nên mở issue mới khi issue hiện có không đề cập đến vấn đề đó
- Trường hợp issue bị đóng mà không có phản hồi thường có khả năng cao là issue trùng lặp
- Có thể tìm trong các issue đã đóng để xem câu trả lời trước đó
- Khi phát triển tính năng mới hoặc phát hiện lỗi, bước đầu tiên là mở issue
- Cần thảo luận trước về tính năng hoặc vấn đề
- Pull request chỉ nên được mở sau khi đã có issue hiện hữu và thảo luận đã kết thúc
- PR được mở mà không thảo luận có thể bị đóng tự động
- Các thay đổi ngôn ngữ và những người đóng góp đã có đóng góp lớn, đồng thời hướng triển khai phù hợp, có thể là ngoại lệ
Ngôn ngữ và giấy phép
- Stats hỗ trợ nhiều ngôn ngữ như English, Polski, Українська, Русский, 中文, Türkçe, tiếng Hàn, German, Spanish, French, Italian, Japanese
- Có thể đóng góp bằng cách thêm ngôn ngữ mới hoặc cải thiện bản dịch hiện có
- Giấy phép là MIT License
1 bình luận
Các ý kiến trên Hacker News
Tôi đã dùng Stats suốt vài năm để kiểm tra CPU, GPU, bộ nhớ, tốc độ tải lên/tải xuống mạng và rất hài lòng
Rất tiện để biết các tiến trình chưa kết thúc có đang kẹt ở 100% không, mã của mình có thực sự chạy trên GPU không, tốc độ truyền mạng ra sao khi tải xuống hoặc truyền dữ liệu bị đứng, hay tiến trình nào đang âm thầm tải về hàng trăm MB
Nó cho cảm giác yên tâm khi có thể nhìn lướt ở phía trên để biết máy tính hiện đang làm gì, nên khó tưởng tượng menu bar mà thiếu nó
Chỉ cần liếc qua biểu đồ và có khoảnh khắc “ơ, lúc này không nên như thế” là tôi đã tìm ra vài vấn đề toàn hệ thống; không chỉ bắt được tiến trình bị treo mà cả tiến trình hoạt động bất thường
Trước đây tôi cũng từng viết về tình huống này tại https://blogsystem5.substack.com/p/hard-disk-leds-and-noisy-...
Kiểu như “sao bây giờ CPU lại chạy 100% không lý do nhỉ? À, sau 10 phút không có request thì nó rơi vào vòng lặp vô hạn ở đây…”
Ngày trước quạt quay 100% là bộ phát hiện lỗi khá tốt, nhưng máy tính ngày nay quá yên tĩnh nên phải nhìn bằng mắt
Trông giống bản sao của iStat Menus. Tôi đã cài nó trong nhiều năm, rồi một ngày nhận ra mình hầu như không nhìn đến, các biểu tượng chỉ chiếm chỗ trên menu bar nên cuối cùng đã gỡ
Chỉ cần đặt Activity Monitor trong Dock hiển thị CPU là đủ
Trước đây tôi mở Activity Monitor, nhưng mỗi khi quạt laptop quay thì nguyên nhân lần nào cũng là trình duyệt. Nhìn vào trình theo dõi hiệu năng của trình duyệt là thấy ngay tab nào có vấn đề, và thường chỉ cần nhấn cmd-R ở tab đó là ổn định lại
Tôi nghĩ có nhà phát triển JavaScript nào đó đã không kiểm thử mã của mình trong trạng thái để tab mở lâu hơn thời gian họ test thay đổi
Giờ tôi chỉ để trình giám sát mạng của Little Snitch, thỉnh thoảng dùng khi thật sự muốn xem traffic đang đi đâu
Có thể là vấn đề ở một số mô-đun hiển thị chứ không phải cấu hình mặc định, nhưng tôi không muốn truy nguyên nên đã gỡ
Thỉnh thoảng tôi cài lại thử nhưng hệ thống vẫn chết. Nó gần như chỉ là đồ trang trí cho đẹp
Trông có vẻ ổn. Trước đây tôi trả tiền cho iStat Menus, nhưng sau khi mua laptop mới thì không tìm ra chỗ tải phiên bản cũ mà mình đã mua license
Cá nhân tôi nghĩ mức sử dụng CPU/bộ nhớ/mạng và 5 ứng dụng dùng nhiều nhất cho từng mục nên luôn được hiển thị. Đến giờ đó đáng ra phải là tính năng cơ bản của thiết bị điện toán, nhưng việc vẫn chưa như vậy chỉ có lợi cho phần mềm tệ ngốn tài nguyên hoặc tác nhân độc hại
Không nên phải mở Activity Monitor mỗi lần chỉ để xem các thông tin cơ bản này. Tôi sẽ thử dùng
Gợi nhớ đến MenuMeters. Nó rất tốt để hiển thị các chỉ số thời gian thực, nhiều loại biểu đồ và các khoảng thời gian làm mới khác nhau
https://member.ipmu.jp/yuji.tachikawa/MenuMetersElCapitan/
Ngay khi cài cái này, tôi lập tức phát hiện LegacyScreenSaver đang rò rỉ 40GB bộ nhớ
Trông có vẻ chịu ảnh hưởng mạnh từ iStat Menus, còn tôi thì đã vui vẻ trả tiền dùng https://bjango.com/mac/istatmenus/ trong nhiều năm
Tôi đã thử Stats vài lần trong quá trình nó phát triển, nhưng cuối cùng vẫn quay lại iStat Menus. Thiết kế của Stats cũng có cảm giác được lấy cảm hứng khá nhiều từ iStat Menus
Dù vậy, điểm tôi đánh giá cao ở Stats là nó hỗ trợ nhiều giá trị cảm biến SMC hơn
Tôi cài bằng
brewnhưng nó không xuất hiện trên menu bar. Khởi động lại Mac thì thấy, nhưng giờ tôi lười tạo PR cập nhật tài liệuNgoài ra, chỉ thấy widget pin còn các widget khác thì không, nên trải nghiệm ban đầu khá khó hiểu
Hóa ra tất cả đều bị ẩn vì UX không gian menu bar tệ hại của Mac. Cũng không có dấu hiệu nào cho biết còn nhiều mục menu hơn. Đây là quyết định thiết kế tệ của Mac
defaults -currentHost write -globalDomain NSStatusItemSpacing -int 8defaults -currentHost write -globalDomain NSStatusItemSelectionPadding -int 8Để hoàn tác thì làm như sau
defaults -currentHost delete -globalDomain NSStatusItemSpacingdefaults -currentHost delete -globalDomain NSStatusItemSelectionPaddingSau đó đăng xuất rồi đăng nhập lại
Trước đây tôi từng trả tiền cho https://www.macbartender.com/ để có tính năng như vậy
Tôi đã dùng iPulse(https://ipulseapp.com/) gần 20 năm. Nó đẹp nên những người nhìn màn hình bên cạnh thường xuyên khen hoặc hỏi, mà cũng không chiếm nhiều diện tích màn hình
Tôi không liên quan gì, nhưng rất khuyến nghị
Lần gần nhất tôi thử Stats cách đây 3–4 tháng, nó ngốn CPU nhiều hơn iStats Menus đáng kể
Một ứng dụng nhỏ khá ổn, nhưng trên M2 MBA của tôi nó khiến bluetoothd chạy loạn và ăn CPU tới 40%