import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; /**
* 记录当前内存信息
*
* @author Sx
* @version 2013-10-08
*/
public class TopFileUtils {
private static final Logger logger = LoggerFactory.getLogger(TopFileUtils.class); public static String writeTopMsg() {
InputStreamReader isr = null;
BufferedReader br = null; FileOutputStream fos = null;
OutputStreamWriter osw = null;
BufferedWriter bw = null; String result = "";
try {
String cmd = "top -b -n 1";// 直接写top输出为空,动态命令,只能加参数输出一次
Process ps = Runtime.getRuntime().exec(cmd);
isr = new InputStreamReader(ps.getInputStream());
br = new BufferedReader(isr);
File file = new File("/opt/topmsg.txt");
if (!file.exists()) {
file.createNewFile();
} fos = new FileOutputStream(file, true);
osw = new OutputStreamWriter(fos);
bw = new BufferedWriter(osw); StringBuffer sb = new StringBuffer();
String line = null;
while ((line = br.readLine()) != null) {
sb.append(line).append("\n");
bw.write(line + "\n");
}
result = sb.toString();
} catch (Exception e) {
logger.error("writeTopMsg error:" + e);
} finally {
try {
if (bw != null)
bw.close();
} catch (IOException e) {
logger.error("close bw error:" + e);
}
try {
if (osw != null)
osw.close();
} catch (IOException e) {
logger.error("close osw error:" + e);
}
try {
if (fos != null)
fos.close();
} catch (IOException e) {
logger.error("close fos error:" + e);
}
try {
if (br != null)
br.close();
} catch (IOException e) {
logger.error("close br error:" + e);
}
try {
if (isr != null)
isr.close();
} catch (IOException e) {
logger.error("close isr error:" + e);
}
}
return result;
} public static void main(String[] args) {
System.out.println(writeTopMsg());
}
}

java记录linux top命令信息的更多相关文章

  1. linux top命令查看内存及多核CPU的使用讲述

    查看多核CPU命令 mpstat -P ALL  和  sar -P ALL 说明:sar -P ALL > aaa.txt   重定向输出内容到文件 aaa.txt top命令 经常用来监控l ...

  2. Linux top命令的用法详细详解

    首先介绍top中一些字段的含义: VIRT:virtual memory usage 虚拟内存1.进程“需要的”虚拟内存大小,包括进程使用的库.代码.数据等2.假如进程申请100m的内存,但实际只使用 ...

  3. 【转载】linux top命令查看内存及多核CPU的使用讲述

    转载 https://www.cnblogs.com/dragonsuc/p/5512797.html 查看多核CPU命令 mpstat -P ALL  和  sar -P ALL 说明:sar -P ...

  4. (转)Linux top命令的用法详细详解

    原文:https://yq.aliyun.com/articles/399004?spm=a2c4e.11153940.blogcont399002.9.3a19f00aHOA3SH# 摘要: 首先介 ...

  5. linux top命令查看内存及多核CPU的使用讲述【转】

    转载一下top使用后详细的参数,之前做的笔记找不见了,转载一下,作为以后的使用参考: 原文地址:http://blog.csdn.net/linghao00/article/details/80592 ...

  6. (转)详解Linux Top 命令

    top 命令是最流行的性能监视工具之一,我们必需了解.它是一个优秀的交互式工具,用于监视性能.它提供系统整体性能,但报告进程信息才是 top 命令的长处.top 命令交互界面如下图所视:

  7. 新手指南:详解Linux Top 命令

    Linux top命令简介 top 命令是最流行的性能监视工具之一,我们必需了解.它是一个优秀的交互式工具,用于监视性能.它提供系统整体性能,但报告进程信息才是 top 命令的长处.top 命令交互界 ...

  8. (转)linux TOP命令各参数详解【转载】

    实时监控或查看系统资源使用情况的工具——TOP top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. 下面详细介绍它的使用方法: ( ...

  9. linux TOP命令各参数详解【转载】

    实时监控或查看系统资源使用情况的工具——TOP top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. 下面详细介绍它的使用方法: ( ...

随机推荐

  1. hiho1393二分图多重匹配

    题目链接:[http://hihocoder.com/problemset/problem/1393] 题意:中文题意. 题解:二分图的多重匹配.主要是建图然后跑一个最带流,再判断一下就可以了. 建图 ...

  2. 【BZOJ 3160】 3160: 万径人踪灭 (FFT)

    3160: 万径人踪灭 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 1440  Solved: 799 Description Input Outp ...

  3. JZYZOJ1525 HAOI2012道路 堆优化的dijkstra+pair

    From Tyvj Guest ☆[haoi2012]道路                 描述 Description     C国有n座城市,城市之间通过m条单向道路连接.一条路径被称为最短路,当 ...

  4. Python turtle绘图实例分析

    画一个红色的五角星 from turtle import * color('red','red') begin_fill() for i in range(5): fd(200) rt(144) en ...

  5. bzoj 3437: 小P的牧场 -- 斜率优化

    3437: 小P的牧场 Time Limit: 10 Sec  Memory Limit: 128 MB Description 小P在MC里有n个牧场,自西向东呈一字形排列(自西向东用1…n编号), ...

  6. Unity UGUI之Image

    Image组件在Inspector Source Image--需要一个Sprite(精灵). Color--图片的颜色 Material--可以添加材质球 RayCast Target--选中可以传 ...

  7. Ubuntu 16.09开启iptables的日志实现调试

    1.先配置日志文件输出 参考:http://www.cnblogs.com/EasonJim/p/8413535.html 2.配置日志打点 参考:http://www.cnblogs.com/Eas ...

  8. Ubuntu 16.04开启SFTP服务

    说明:其实只要安装了SSH服务就已经具备了SFTP功能,这个用普通客户端无法连接,只能用支持SFTP协议的客户端才能连接. FileZilla作为FTP客户端,它也可以连接SFTP,SFTP的监听端口 ...

  9. x-requested-with 请求头 区分ajax请求还是普通请求

    在服务器端判断request来自Ajax请求(异步)还是传统请求(同步): 两种请求在请求的Header不同,Ajax 异步请求比传统的同步请求多了一个头参数 1.传统同步请求参数 accept  t ...

  10. 东东糖博客MYSQL

    http://blog.chinaunix.net/uid-20785090-id-4328033.html