java调用linux top命令的方法,以及遇到的一个问题
来源:互联网 发布:论文投稿中教数据 编辑:程序博客网 时间:2024/06/08 12:19
最近在做一个系统的Tuning工作,由于要跑几个小时,
所以准确地记录系统运行过程中的各个性能是需要完成的一个工作,
所以花了两个小时解决了这个问题,写上博客作为备忘。
Java的Runtime类提供了一种接受jvm虚拟机环境,并且运行命令的方法,具体代码如下
Runtime rt = Runtime.getRuntimetry{ Process p = rt.exec("top -b -n 1");}catch(exception e){}
上述命令完成了使用java程序调用top -b -n 1命令的方法。
并且利用
BufferedReader in = null; in = new BufferedReader(new InputStreamReader(p.getInputStream()));
可以获得p程序的输出。
借此通过周期性的调用上述方法(例如1s1次)就可以获得关心程序的cpu占用程度以及内存占用程度了。
在记录上述程序结果的时候,我发现Date得到的结果并不是本时区的,
于是利用了Calendar类的设置时区方法得到本地时间。
其核心思路就是用Calendar类设置一个时区,然后将Calendar类传递给Date类。
TimeZone timeZoneShanghai = TimeZone.getTimeZone("Asia/Shanghai"); Calendar cal = Calendar.getInstance(); cal.setTimeZone(timeZoneShanghai); Date date = cal.getTime();这样,关于利用java调用top命令并且将关心结果输出的问题基本解决。
- java调用linux top命令的方法,以及遇到的一个问题
- Java调用Linux命令的方法
- Java调用Linux命令的方法
- linux的top命令
- Linux的top命令
- Https 调用遇到的问题以及解决方法
- 封装一个CURL请求方法以及调用这个方法会遇到的错误
- Java通过调用Top命令获取Linux的CPU和内存使用情况
- C# 调用 CMD 命令 遇到的问题
- ios中写framework并调用的方法以及所遇到的问题
- 备忘:Linux的top命令调整排序的方法
- linux调用ffmpeg 遇到的问题
- linux的TOP命令小结
- linux的TOP命令小结
- Linux下的top命令
- Linux--top命令的使用
- linux上的top命令
- Linux的TOP命令详解
- php fsockopen解决办法
- ACM OJ Collection
- Objective-C表达式-模运算符
- Objective-C表达式-Objective-C 整型值和浮点值的相互转换
- 免申请API Key的Akismet 让WordPress减少垃圾评论
- java调用linux top命令的方法,以及遇到的一个问题
- mx:DataGrid使用
- ios开发中@property的属性介绍
- 跟我一起写Makefile(2)
- VB.NET and C# Comparison
- 利用jquery判断下拉列表的操作
- Objective-C表达式-Objective-C 赋值运算符
- NSTimer、 NSTask、 NSThread 和 NSRunloop 之间的区别:
- vs2008 showIncludes命令的使用