Hỏi cách lấy thông tin hệ thống(CPUusage, Ram, Fan speed,etc.) bằng java?

Anh chị em nào biết cách lấy thông tin của hệ thống như Fan Speed, Main board, Ram, thông tin ổ cứng giúp đỡ mình vs ??
Thanks!

Chịu khó tìm kiếm trên google bạn nhé :slight_smile:

1 Like

Sử dụng class Runtime có lẽ chỉ lấy được các thông tin của Java Virtual Machine mà thôi.
Còn nếu chuẩn thì phải gọi xuống các utils của hệ thống như các lệnh: df, du, cpu, fan, temp … thì mới chuẩn được.

Có thể sử dụng thư viện SIGAR (nó wrap up các lệnh này cho dễ dùng)
https://support.hyperic.com/display/SIGAR/Home

Tuy nhiên, nó không support Windows vì hình như Windows không có utils những cái này, nhất là các utils đọc sensor.
Với Windows, chắc phải cài thêm tools (WMI)


Mình đã thử nhưng thư viên com.sun.management.OperatingSystemMXBean không sử dụng được mặc dù thấy trong thư viện của nó. ko hiểu tại sao nữa?

Lỗi gì hả bạn? Bạn đã thử sample của MXBean chưa?

/*
OperatingSystemMXBean bean = (com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
System.out.println(bean.getProcessCpuLoad());
System.out.println(bean.getSystemCpuLoad());
*/
thì kết quả trả về là -1.0
và cho mình hỏi cách dùng thêm tool nó như thế nào ?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?