java怎样获取CPU占用率和硬盘占用率?

DreamStyle 2009-12-14 05:02:59

java怎样获取CPU占用率和硬盘占用率?有什么思路可以获取?
望高手指点!
...全文
1531 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
臭小猪2013 2011-10-16
  • 打赏
  • 举报
回复
6楼那个读CPU的内容总是抛java.lang.NumberFormatException: For input string: ""异常啊,高手帮解答呀
pywepe 2010-07-29
  • 打赏
  • 举报
回复
不错的帖子 不错不错 可能以后能用上
qingyunzhuimeng 2009-12-21
  • 打赏
  • 举报
回复
学习学习
535cheng110 2009-12-21
  • 打赏
  • 举报
回复
mark
DreamStyle 2009-12-21
  • 打赏
  • 举报
回复
有什么好的方式获取资源管理器,内存大小,cpu大小?
2到20个英文 2009-12-21
  • 打赏
  • 举报
回复
mark

zhouxingyu896 2009-12-21
  • 打赏
  • 举报
回复
学习

学习
  • 打赏
  • 举报
回复
顶6#
tomdoglz 2009-12-21
  • 打赏
  • 举报
回复
留名路过
dgdlxh 2009-12-21
  • 打赏
  • 举报
回复
飘过了。。 。做过linux的,但windows不太清楚。
DreamStyle 2009-12-17
  • 打赏
  • 举报
回复

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Diskspace {
public Diskspace() {

}

public static long getFreeDiskSpace(String dirName) {
try {
String os = System.getProperty("os.name");
String command;
if (os.equals("Windows NT") || os.equals("Windows 2000")
|| os.equals("Windows XP")) {
command = "cmd.exe /c dir " + dirName;
} else {
command = "command.com /c dir " + dirName;
}
Runtime runtime = Runtime.getRuntime();
Process process = null;
process = runtime.exec(command);
if (process == null) {

return -1;
}
BufferedReader in = new BufferedReader(new InputStreamReader(
process.getInputStream()));
String line;
String freeSpace = null;
while ((line = in.readLine()) != null) {
freeSpace = line;
}
if (freeSpace == null) {
return -1;
}
process.destroy();
freeSpace = freeSpace.trim();
freeSpace = freeSpace.replaceAll("\\.", "");
freeSpace = freeSpace.replaceAll(",", "");
String[] items = freeSpace.split(" ");
int index = 1;
while (index < items.length) {
try {
long bytes = Long.parseLong(items[index++]);
return bytes;
} catch (NumberFormatException nfe) {
}
}
return -1;

} catch (Exception ex) {
return -1;

}

}

public static void main(String[] args) {
long l = 0;
if (args.length == 0) {
char[] c = { 'C', 'D', 'E', 'F' };
for (int i = 0; i < c.length; i++) {
String dirName = c[i] + ":\\";

System.out.println(dirName + " " + getFreeDiskSpace(dirName));
l += getFreeDiskSpace(dirName);
}
} else {
for (int i = 0; i < args.length; i++) {
System.out.println(args[i] + " " + getFreeDiskSpace(args[i]));
}
}

}
}

在网上搜了一个计算硬盘占用率的代码!
改了一下
但有点不对,希望高手改一改!
在此感谢!
TzSword 2009-12-17
  • 打赏
  • 举报
回复
不是高手帮顶!
可以用Java掉系统的API吗?
我知道可以掉字体呀什么的。如果可以掉资源管理器就O了..
亲努力啊 2009-12-17
  • 打赏
  • 举报
回复
学习
DreamStyle 2009-12-17
  • 打赏
  • 举报
回复

/* Total number of processors or cores available to the JVM */
System.out.println("Available processors (cores): "
+ Runtime.getRuntime().availableProcessors());
/* Total amount of free memory available to the JVM */
System.out.println("Free memory (bytes): "
+ Runtime.getRuntime().freeMemory());
/* This will return Long.MAX_VALUE if there is no preset limit */
long maxMemory = Runtime.getRuntime().maxMemory();
/* Maximum amount of memory the JVM will attempt to use */
System.out.println("Maximum memory (bytes): "
+ (maxMemory == Long.MAX_VALUE ? "no limit" : maxMemory));
/* Total memory currently in use by the JVM */
System.out.println("Total memory (bytes): "
+ Runtime.getRuntime().totalMemory());
/* Get a list of all filesystem roots on this system */
File[] roots = File.listRoots();
/* For each filesystem root, print some info */

for (File root : roots) {
// System.out.println("File system root: " +
// root.getAbsolutePath());

System.out.println("Total space (bytes): " + root.getTotalSpace());
System.out.println("Free space (bytes): " + root.getFreeSpace());
System.out
.println("Usable space (bytes): " + root.getUsableSpace());
}

DreamStyle 2009-12-16
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 duqiangcise 的回复:]
楼主先要清楚,你用的操作系统是windows还是linux?
[/Quote]
操作系统是windows
nj_dobetter 2009-12-15
  • 打赏
  • 举报
回复
Up!
DreamStyle 2009-12-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zhouhaochen 的回复:]
有一个java做的windows任务管理器 ,有CPU占有和内存占用,下载地址没有了  我手上有,要的话找me
[/Quote]
可以上传到csdn上吗?,
大家共享!
DreamStyle 2009-12-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 youyu889 的回复:]
首先要问下你的是什么系统,不同系统方式是不一样的。windows如上,或者使用网络API包,如winpcap之类的。linux系统,你可以通过shell脚本,然后java调用获取执行结果,总之方法多多。。。
[/Quote]
是获取windows系统下的cpu占用率,和硬盘占用率
youyu889 2009-12-15
  • 打赏
  • 举报
回复
首先要问下你的是什么系统,不同系统方式是不一样的。windows如上,或者使用网络API包,如winpcap之类的。linux系统,你可以通过shell脚本,然后java调用获取执行结果,总之方法多多。。。
zhouhaochen 2009-12-15
  • 打赏
  • 举报
回复
有一个java做的windows任务管理器 ,有CPU占有和内存占用,下载地址没有了  我手上有,要的话找me
加载更多回复(11)

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧