Có thể trong Java để xác định tổng tốc độ CPU có sẵn cũng như tổng bộ nhớ hệ thống không? Tốc độ kết nối mạng với web cũng sẽ rất tuyệt vời.Phát hiện tốc độ CPU/Bộ nhớ/Tốc độ Internet bằng Java?
Trả lời
Điều này thực sự phụ thuộc vào hệ điều hành của bạn, vì Java sẽ cho bạn biết ít về máy cơ bản. Thật không may, bạn phải sử dụng các cách tiếp cận khác nhau tùy thuộc vào hệ điều hành của bạn.
Nếu bạn đang sử dụng Linux, hãy xem hệ thống tệp /proc/cpuinfo
để biết thông tin CPU. /proc
thường có rất nhiều thông tin. Mạng (IO) sẽ được phản ánh qua lệnh ifconfig
.
Nếu bạn đang sử dụng Windows, một công cụ hữu ích là WMI, cung cấp quyền truy cập vào tất cả các loại thống kê phần cứng cấp thấp. Bạn có thể chạy tập lệnh WMI qua CScript. Here's a page of examples của tập lệnh WMI.
Số liệu thống kê bộ nhớ khả dụng từ đối tượng Runtime. Và hãy xem một jconsole, một trình khách đồ họa trình bày thông tin về một Máy ảo Java có hỗ trợ JMX. Nó cho thấy rất nhiều thông tin bao gồm cả việc sử dụng CPU, vì vậy bạn có thể viết máy khách của riêng bạn để truy cập thông tin JMX.
Có vẻ như Java rất bảo vệ cách ứng dụng có thể tương tác với phần cứng. Số liệu thống kê bộ nhớ tôi thấy từ đối tượng Thời gian chạy chỉ là những gì VM sẽ thực hiện, không phải tổng số tiền thực tế có sẵn –
Có thể SIGAR có thể cung cấp một số thứ bạn cần.
Properties p = System.getProperties();
p.list(System.out);
System.out.print("Total CPU:");
System.out.println(Runtime.getRuntime().availableProcessors());
System.out.println("Max Memory:" + Runtime.getRuntime().maxMemory() + "\n" + "available Memory:" + Runtime.getRuntime().freeMemory());
System.out.println("os.name=" + System.getProperty("os.name"));
thử trên
'java testtest.java:3: không thể tìm thấy biểu tượng biểu tượng: thuộc tính lớp \t Thuộc tính p = System.getProperties() ; ' – Tim
Hi dr, xin lỗi tôi cần phải có được cụ thể hơn, tôi có nghĩa là Java ngôn ngữ ứng dụng không hoạt Javascript –
Nhưng nhờ! Đây là những gì tôi đang tìm kiếm;) –