java如何获取process内存使用和运行时间等状态

huangwei1024 2008-02-19 05:00:30
google了很长时间,都没找到
是否jdk里面没有实现?
时间倒可以用守护线程去监测,但感觉精度就不怎么高
内存使用怎么获取?
...全文
391 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cjmluck 2008-02-19
  • 打赏
  • 举报
回复
int total = (int)Runtime.getRuntime().totalMemory()/1024
int free = (int)Runtime.getRuntime().freeMemory()/1024
两个变量做减法
用总内存减去空闲内存就是现在系统正在使用的内存。。

具体的精度就不知道了,但是大体的就应该是这样的。。
wuxo84 2008-02-19
  • 打赏
  • 举报
回复
我觉得有可能受影响,我再想想
huangwei1024 2008-02-19
  • 打赏
  • 举报
回复
to hjy273 : 我想要java的,c和c++的我实现过了,系统函数或windowsAPI都可以,关键是想用jdk里面的
to wuxo84 :如果多进程运行,这个时间是否会受到其他进程的影响而导致精度损失呢?内存也一样。我想获取的是单一进程的状态。
wuxo84 2008-02-19
  • 打赏
  • 举报
回复
1、用System.currentTimeMillis()做减法吧~

2、

/**
* 检查java虚拟机的内存使用情况
* @return
*/
public int checkJVMRun(){
int i = (int)Runtime.getRuntime().totalMemory()/1024;//Java 虚拟机中的内存总量,以字节为单位
int j = (int)Runtime.getRuntime().freeMemory()/1024;//Java 虚拟机中的空闲内存量
return j ;
}

可能不对你的口味
hjy273 2008-02-19
  • 打赏
  • 举报
回复
请参考这里:
http://topic.csdn.net/u/20070605/17/9441ccaa-b7c3-4444-b313-67b01c763ac6.html

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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