2012-02-09 18 views
6

Hi i cant có thể sử dụng getProcessCpuTime() hoặc getProcessCpuLoad() hoặc getSystemCpuLoad() trong chương trình java của tôi. Tôi sử dụng như dưới đây.Làm thế nào để sử dụng getSystemCpuLoad() trong JMX

ManagementFactory. getOperatingSystemMXBean().getProcessCpuTime(); 

cũng như thế này

((OperatingSystemMXBean) getOperatingSystemMXBean()).getProcessCpuTime() 

Nhưng lỗi hiển thị của nó như phương pháp getProcessCpuTime() không được tìm thấy. Tôi đã bao gồm các tệp tiêu đề sau. Có đủ hay tôi cần phải sử dụng nữa.

import java.lang.management.ManagementFactory; 
import java.lang.management.OperatingSystemMXBean; 

Bất kỳ ai cũng có thể giới thiệu cho tôi cách sử dụng các phương pháp này. đang sử dụng jdk1.6. Và mã của tôi là dưới

import java.lang.management.ManagementFactory; 
import java.lang.management.OperatingSystemMXBean; 
import java.lang.reflect.Method; 
import java.lang.reflect.Modifier; 

public class printUsage { 

public static void main(String[] args) { 
OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean(); 

System.out.println("getCpuProcessTime()" + " = " + operatingSystemMXBean.getProcessCpuTime()); 
System.out.println("getCpuProcessTime()" + " = " + operatingSystemMXBean.getSystemCpuLoad()); 
System.out.println("getCpuProcessTime()" + " = " + operatingSystemMXBean.getProcessCpuLoad()); 
} 

} 
+0

Bạn có thể đăng thêm mã không? – kosa

+0

vui lòng tham khảo mã i đã đăng – shagul

Trả lời

11

nhập khẩu sau một

import com.sun.management.OperatingSystemMXBean; 

Không

import java.lang.management.OperatingSystemMXBean; 

Sử dụng đoạn mã sau.

OperatingSystemMXBean operatingSystemMXBean = (com.sun.management.OperatingSystemMXBean)ManagementFactory.getOperatingSystemMXBean(); 

Tôi nhận được kết quả hợp lệ với mã này.

+0

ya của nó làm việc tốt cho getProcessCpuTime() nhưng lại hiển thị lỗi nếu tôi thử getSystemCpuLoad() và cho getProcessCpuTime() .. – shagul

+0

Không có phương thức getSystemCpuLoad trong tài liệu. http://docs.oracle.com/javase/6/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html. – kosa

+0

tôi đã tìm thấy các phương pháp đó trong liên kết sau [link] (http://download.java.net/jdk8/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html#getProcessCpuTime()) – shagul

3

Hãy xem trên javadoc sau: http://docs.oracle.com/javase/6/docs/api/

Xem những gì các phương pháp được định nghĩa cho OperatingSystemMXBean. Vấn đề của bạn là bạn đang tìm kiếm các phương pháp được xác định trong com.sun.management.OperatingSystemMXBean thành java.lang.management.OperatingSystemMXBean.

Gói com.sun chủ yếu dành cho việc sử dụng nội bộ của người tạo java chứ không phải dành cho nhà phát triển ứng dụng. Bạn nên sử dụng các lớp học từ gói java.lang.management và tham khảo tài liệu API thích hợp.

Các vấn đề liên quan