很想写些话在最前面,但是真的不知道该说什么好。
很快的,2005年已经过去,这几天一直打算要在2005年内再写几篇的,可惜,每次都是忙的要死,要不就是有别的事情,一直推倒2005年的最后一天晚上。
本来已经决定了一定要完成的,都怪湖南卫视台的那个跨年度演唱会啊,竟然一直到12点以后才结束,我又不舍的离开,没办法。
可见我就是这样一个人,对于已定的计划总是有理由去拖延 :)
回头看看,已经1个多月没有发帖子了,感觉很遗憾,就这样走完了2005年。这一年发生了很多事情,也有很多事情没有机会发生,更有很多事情没来得及发生,回首刚刚过去的年度,感慨良多啊……
回归正题吧,前些天正好需要完成一个实时分析linux系统CPU、内存使用情况的功能,类似于windows任务管理器的那种。当时搜了很多帖子出来,有些比较深刻,但是用Java调用起来比较麻烦,又要用jni、又要写C,在万般无奈之下翻阅了一些linux的相关资料,竟然得知linux系统中/proc/目录下有存放系统信息的文件,大喜过望啊!
在这个辞旧迎新的夜晚,记录下来,方便以后随时查阅,嘿嘿……
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
/**
* 取得linux系统下的cpu、内存信息
*
* <p>@author javer QQ:84831612</p>
* @date 2005
*/
public final class LinuxSystemTool
{
/**
* get memory by used info
*
* @return int[] result
* result.length==4;int[0]=MemTotal;int[1]=MemFree;int[2]=SwapTotal;int[3]=SwapFree;
* @throws IOException
* @throws InterruptedException
*/
public static int[] getMemInfo() throws IOException, InterruptedException
{
File file = new File("/proc/meminfo");
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(file)));
int[] result = new int[4];
String str = null;
StringTokenizer token = null;
while((str = br.readLine()) != null)
{
token = new StringTokenizer(str);
if(!token.hasMoreTokens())
continue;
s