精华内容
下载资源
问答
  • package ... import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.StringWriter; ...

    package com.hotpot.boos.interaction.ftpUtil.util;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.io.StringWriter;

    import org.apache.log4j.Logger;

    /**
     * 采集磁盘IO使用率
     */
    public class IoUsage{

        private static Logger log = Logger.getLogger(IoUsage.class);
        private static IoUsage INSTANCE = new IoUsage();
        
        private IoUsage(){
        
        }
        
        public static IoUsage getInstance(){
            return INSTANCE;
        }
        
        /**
         * @Purpose:采集磁盘IO使用率
         * @param args
         * @return float,磁盘IO使用率,小于1
         * @throws Exception 
         */
        public float get() throws Exception {
            log.info("开始收集磁盘IO使用率");
            double totalhd = 0;
            double usedhd = 0;
            Runtime rt = Runtime.getRuntime();
            Process p = rt.exec("df -hl /home");//df -hl 查看硬盘空间
            BufferedReader in = null;
            try {
            in = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String str = null;
            String[] strArray = null;
            while ((str = in.readLine()) != null) {
            int m = 0;
            strArray = str.split(" ");
            for (String tmp : strArray) {
            if (tmp.trim().length() == 0)
            continue;
            ++m;
            System.out.println("----tmp----" + tmp);
            if (tmp.indexOf("G") != -1) {
            if (m == 2) {
            System.out.println("---G----" + tmp);
            if (!tmp.equals("") && !tmp.equals("0"))
            totalhd += Double.parseDouble(tmp
            .substring(0, tmp.length() - 1)) * 1024;
            }
            if (m == 3) {
            System.out.println("---G----" + tmp);
            if (!tmp.equals("none") && !tmp.equals("0"))
            usedhd += Double.parseDouble(tmp.substring(
            0, tmp.length() - 1)) * 1024;
            }
            }
            if (tmp.indexOf("M") != -1) {
            if (m == 2) {
            System.out.println("---M---" + tmp);
            if (!tmp.equals("") && !tmp.equals("0"))
            totalhd += Double.parseDouble(tmp
            .substring(0, tmp.length() - 1));
            }
            if (m == 3) {
            System.out.println("---M---" + tmp);
            if (!tmp.equals("none") && !tmp.equals("0"))
            usedhd += Double.parseDouble(tmp.substring(
            0, tmp.length() - 1));
            System.out.println("----3----" + usedhd);
            }
            }
            }
            }
            } catch (Exception e) {
            e.printStackTrace();
            } finally {
            in.close();
            }
            //上面写在userd和total写反了,懒得改了,就反着用了
            System.out.println("----totalhd----" + usedhd);
            System.out.println("----usedhd----" + totalhd);
            return (float) ((usedhd/totalhd) * 100);
        }

        /**
         * @param args
         * @throws InterruptedException 
         */
        public static void main(String[] args) throws Exception {
            while(true){
                System.out.println(IoUsage.getInstance().get());
                Thread.sleep(5000);
            }
        }

    }

    展开全文
  • JAVA 获取linux系统磁盘使用率

    千次阅读 2016-04-19 15:17:05
    import java.io.*;...* linux 下cpu 内存 磁盘 jvm的使用监控 * @author avery_leo * */ public class DiskSpace { /** * 获取cpu使用情况 * @return * @throws Exception */ publi
    package com.cmmb.util;
    import java.io.*;
    /**
    * linux 下cpu 内存 磁盘 jvm的使用监控
    * @author avery_leo
    *
    */
    public class DiskSpace {
    /**
    * 获取cpu使用情况
    * @return
    * @throws Exception
    */
    public double getCpuUsage() throws Exception {
    double cpuUsed = 0;

    Runtime rt = Runtime.getRuntime();
    Process p = rt.exec("top -b -n 1");// 调用系统的“top"命令

    BufferedReader in = null;
    try {
    in = new BufferedReader(new InputStreamReader(p.getInputStream()));
    String str = null;
    String[] strArray = null;

    while ((str = in.readLine()) != null) {
    int m = 0;

    if (str.indexOf(" R ") != -1) {// 只分析正在运行的进程,top进程本身除外 &&

    strArray = str.split(" ");
    for (String tmp : strArray) {
    if (tmp.trim().length() == 0)
    continue;
    if (++m == 9) {// 第9列为CPU的使用百分比(RedHat

    cpuUsed += Double.parseDouble(tmp);

    }

    }

    }
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    in.close();
    }
    return cpuUsed;
    }
    /**
    * 内存监控
    * @return
    * @throws Exception
    */
    public double getMemUsage() throws Exception {

    double menUsed = 0;
    Runtime rt = Runtime.getRuntime();
    Process p = rt.exec("top -b -n 1");// 调用系统的“top"命令

    BufferedReader in = null;
    try {
    in = new BufferedReader(new InputStreamReader(p.getInputStream()));
    String str = null;
    String[] strArray = null;

    while ((str = in.readLine()) != null) {
    int m = 0;

    if (str.indexOf(" R ") != -1) {// 只分析正在运行的进程,top进程本身除外 &&
    //
    // System.out.println("------------------3-----------------");
    strArray = str.split(" ");
    for (String tmp : strArray) {
    if (tmp.trim().length() == 0)
    continue;

    if (++m == 10) {
    // 9)--第10列为mem的使用百分比(RedHat 9)

    menUsed += Double.parseDouble(tmp);

    }
    }

    }
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    in.close();
    }
    return menUsed;
    }

    /**
    * 获取磁盘空间大小
    *
    * @return
    * @throws Exception
    */
    public double getDeskUsage() throws Exception {
    double totalHD = 0;
    double usedHD = 0;
    Runtime rt = Runtime.getRuntime();
    Process p = rt.exec("df -hl /home");//df -hl 查看硬盘空间

    BufferedReader in = null;
    try {
    in = new BufferedReader(new InputStreamReader(p.getInputStream()));
    String str = null;
    String[] strArray = null;
    while ((str = in.readLine()) != null) {
    int m = 0;
    strArray = str.split(" ");
    for (String tmp : strArray) {
    if (tmp.trim().length() == 0)
    continue;
    ++m;
    System.out.println("----tmp----" + tmp);
    if (tmp.indexOf("G") != -1) {
    if (m == 2) {
    System.out.println("---G----" + tmp);
    if (!tmp.equals("") && !tmp.equals("0"))
    totalHD += Double.parseDouble(tmp
    .substring(0, tmp.length() - 1)) * 1024;

    }
    if (m == 3) {
    System.out.println("---G----" + tmp);
    if (!tmp.equals("none") && !tmp.equals("0"))
    usedHD += Double.parseDouble(tmp.substring(
    0, tmp.length() - 1)) * 1024;

    }
    }
    if (tmp.indexOf("M") != -1) {
    if (m == 2) {
    System.out.println("---M---" + tmp);
    if (!tmp.equals("") && !tmp.equals("0"))
    totalHD += Double.parseDouble(tmp
    .substring(0, tmp.length() - 1));

    }
    if (m == 3) {
    System.out.println("---M---" + tmp);
    if (!tmp.equals("none") && !tmp.equals("0"))
    usedHD += Double.parseDouble(tmp.substring(
    0, tmp.length() - 1));
    System.out.println("----3----" + usedHD);
    }
    }

    }

    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    in.close();
    }
    //上面写在userd和total写反了,懒得改了,就反着用了
    System.out.println("----totalHD----" + usedHD);
    System.out.println("----usedHD----" + totalHD);
    return (totalHD / usedHD) * 100;
    }

    public static void main(String[] args) throws Exception {
    DiskSpace cpu = new DiskSpace();
    System.out.println("---------------cpu used:" + cpu.getCpuUsage() + "%");
    System.out.println("---------------mem used:" + cpu.getMemUsage() + "%");
    System.out.println("---------------HD used:" + cpu.getDeskUsage() + "%");
    System.out.println("------------jvm监控----------------------");
    Runtime lRuntime = Runtime.getRuntime();
    System.out.println("--------------Free Momery:" + lRuntime.freeMemory()+"K");
    System.out.println("--------------Max Momery:" + lRuntime.maxMemory()+"K");
    System.out.println("--------------Total Momery:" + lRuntime.totalMemory()+"K");
    System.out.println("---------------Available Processors :"
    + lRuntime.availableProcessors());
    }
    }
    展开全文
  • java 获取Linux 磁盘空间的使用情况

    千次阅读 2018-03-25 13:13:19
    java 获取Linux磁盘使用空间。这样的话,可以在系统后台随时监控linux磁盘使用情况。其实原理很简单,就是使用java执行Linux执行,然后解析显示结果版权属于: 技术客原文地址: ...

    java 获取Linux 的磁盘使用空间。这样的话,可以在系统后台随时监控linux的磁盘使用情况。其实原理很简单,就是使用java执行Linux执行,然后解析显示结果



    版权属于: 技术客
    原文地址: https://www.sunjs.com/article/detail/6131d422632f45198c566b17cf18aca9.html
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


    展开全文
  • // df -hl 查看硬盘空间 List<String> result = IOUtils.readLines(p.getInputStream(), "GBK"); for (String line: result) { for (int i = 0; i (); i++) { JSONObject deskObj = deskArray.getObject(i, ...

    jar包引入:

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-io</artifactId>
        <version>1.3.2</version>
    </dependency>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.56</version>
    </dependency>
    

    代码实现:

    package com.test.practice;
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import org.apache.commons.io.IOUtils;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    
    public class DeskMonitor {
    
        public static void main(String[] args) {
            try {
                String deskMonitorConfig = "{deskList:[{name:\"/dev/sda1\", useRate:80}]}";
                JSONObject deskMonitorObj = JSON.parseObject(deskMonitorConfig);
                JSONArray deskArray = deskMonitorObj.getJSONArray("deskList");
                Runtime rt = Runtime.getRuntime();
                Process p = rt.exec("df -hl");// df -hl 查看硬盘空间
                List<String> result = IOUtils.readLines(p.getInputStream(), "GBK");
                for (String line: result) {
                    for (int i = 0; i < deskArray.size(); i++) {
                        JSONObject deskObj = deskArray.getObject(i, JSONObject.class);
                        String deskName = deskObj.getString("name");
                        double deskUseRate = deskObj.getDoubleValue("useRate");
                        if (line.contains(deskName)) {
                            System.out.println(line);
                            String[] items = line.split("%")[0].split(" ");
                            int lastIndex = items.length - 1;
                            double useRateLocal = Double.parseDouble(items[lastIndex].trim());
                            if (useRateLocal >= deskUseRate) {
                                // 报警
                                System.out.println("===>>>"+"磁盘名称:"+deskName+"磁盘使用率:"+useRateLocal);
                            }
                        }
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        
    }
    

    结果:

    在这里插入图片描述
    java获得linux环境的硬盘、内存、cpu使用率—参考https://blog.csdn.net/youyou_yo/article/details/47107471

    展开全文
  • /**      * @return Map<...: key:磁盘盘符, value:磁盘剩余空间      */      public static Map<String, String> getHdInfo() {&...
  • 1.判断是否为window系统 private static boolean isWindow() { return System.getProperty("os.name"...2.判断是否为linux系统 private static boolean isLinux() { return System.g...
  • java代码获取Linux磁盘空间大小

    千次阅读 2019-07-10 10:45:42
    需求:系统定时输出数据到数据库,数据库所在的当前磁盘的容量已经所剩不多时,需要将数据库中的数据导出成excel格式的文件并将文件存入其他磁盘 解决方案: File diskPartition = new File("/"); long usable...
  • 查看linux可用磁盘空间 跟踪磁盘利用率信息在系统管理员(和其他人员)的日常任务清单上。 Linux有一些内置的实用程序可以帮助提供这些信息。 df df命令代表“无磁盘”,并显示Linux系统上的可用和已用磁盘空间...
  • 如何清理Linux服务器磁盘空间

    万次阅读 多人点赞 2018-04-04 18:17:28
    一看,原来是磁盘空间被占满啦,那么,怎么清理呢。介绍如下:df -h ,这个命令用于查看服务器空间,运行后的效果图如下:可以看到,还剩余8G可用。du -h --max-depth=1,这个命令用于查看当前目录,哪个文件占用...
  • df-hDf命令是linux系统磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息, 命令格式:df-hl 显示格式为:  文件系统容量已用可用已用%挂载点FilesystemSizeUsedAvailUse%Mountedon/dev/hda24...
  • 某些外部 I/O 操作可能使其与实际不符,这些操作包括那些在此虚拟机外部系统上进行的操作。此方法不保证对此文件系统的写操作将成功。 返回: 分区上的未分配字节数;如果抽象路径名没有指定分区,则返回 0L...
  • Linux系统下的CPU、内存信息import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.net.InetAddress;...
  • Linux 系统部署 Java 应用 服务器 Linux 阿里云、华为云、腾讯云 安装虚拟机,虚拟机就是在你的电脑中安装一台虚拟的计算机,内存、CPU、硬盘Linux 安装到虚拟机中。 CentOS7,企业级 Linux 的发行版,完全开源,...
  • 解决AWS 挂载、解决挂载完重启就消失等问题 linux上的盘和window的有区别,磁盘空间必须挂载在目录上,要不然没用 对与新增的硬盘、SSD固态硬盘、...df -h #显示目前在Linux系统上的文件系统磁盘使用情况统计。 ...
  • 最近要在linux环境上部署公司的java程序进行测试,为了方便以后的学习,从今天开始准备把linux系统安装、oracle11g的安装,java程序的部署这些关键的步骤都记录下来。 1、 虚拟机:VartualBox4.3.12 Linux版本:...
  • Linux系统磁盘分区及挂载 - fdisk

    千次阅读 多人点赞 2019-12-08 03:39:42
    当我们拿到一块新的硬盘时,他所能够支持的最大空间只是代表硬件上的一个参数,我们要想让他能够正常的工作起来,必须要有相应的文件系统。文件系统决定了文件存储和管理时的方式和数据结构,也就是如何管理磁盘上的...
  • linux 磁盘空间不足

    2014-11-09 13:47:01
    linux服务器上运行的程序报出了很多错误, 检查后发现是磁盘空间ba
  • [code="... * linux 下cpu 内存 磁盘 jvm的使用监控 * @author avery_leo * */ public class TT { /** * 获取cpu使用情况 * @return * @throws Exception */ public double g...
  • linux系统删除空间系统分区空间仍不释放问题 原文地址: https://www.cnblogs.com/noxy/p/6225592.html 总结的原因: 1、删除文件文件后没有清空回收站; 2、删除的文件不在系统分区,在其他分区上; 3...
  • linux磁盘空间不足解决方法

    万次阅读 多人点赞 2018-08-16 12:10:37
    这里只介绍磁盘空间不足的解决办法 1.首先确定是否是磁盘空间不足 输入命令:df –h 查看磁盘信息 很明显:Filesystem下的挂载点 /dev/xvda1 下的40G容量已经耗尽。 这时最简单的办法就是找到大且无用的文件并...
  • Linux查看磁盘空间

    千次阅读 2014-12-16 15:21:33
    今天的CI突然failed掉了, 一下子挂掉好多case,吓我一大跳。...登陆到环境的服务器上,很快发现是流服务器的磁盘空间满了。   Shell代码  [root@localhost /]# df -h  Filesystem Size Used 
  • Linux用户磁盘空间配额的管理

    千次阅读 2013-12-30 08:04:29
    Linux下要实现磁盘空间限制,需要安裝 quota 套件来实现。 用户磁盘空间限制是以文件系统(分区)为单位的,想要限制在/home目录空间大小,那么必须为/home单独挂载一个分区。  一、规划文件系统  1.1、查看...
  • linux查看磁盘空间的命令总结

    千次阅读 2012-07-06 09:11:16
    一、df 命令; df 是来自于coreutils 软件包,... 在 Linux 中有一个 Shell 可以让用户随时随地对磁盘空间的使用情况一清二楚。它就是“df”命令。 举例: [root@zhang-12-06 /]# df -lh Filesystem Size Used
  • linux查看剩余磁盘空间

    千次阅读 2018-03-10 18:51:22
    df -hl 查看磁盘剩余空间 df -h 查看每个根路径的分区大小 du -sh [目录名] 返回该目录的大小 du -sm [文件夹] 返回该文件夹总M数 du -h [目录名] 查看指定文件夹下的所有文件大小(包含子文件夹)...
  • 目录 磁盘情况 ...系统磁盘空间 /opt + 6% /var/log/journal +7% /var/swapfile +22% /usr/local/mysql >50% 未处理 磁盘情况 调查服务器系统盘符资源占用问题(资源占用清单已发)...
  • Linux磁盘空间使用率100%解决办法

    千次阅读 2020-08-21 20:54:44
    Linux磁盘空间使用率100%解决办法磁盘空间使用率很高的解决办法事情发生的原因方法一:删除未被进程引用的大文件、方法二:删除被磁盘引用的大文件总结 磁盘空间使用率很高的解决办法 事情发生的原因 本人在服务器...
  • linux下查看磁盘空间

    千次阅读 2013-11-21 14:53:14
    在使用linux系统磁盘满了会导致无法再写入,此时就要求能查看系统磁盘空间,那么如何查看系统磁盘空间呢,如下: 如果要查看磁盘还剩多少空间,当然是用df的命令了。 [ecom@gz01-ec-test012 webapps]$ df -h 文件...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 76,584
精华内容 30,633
关键字:

java查询linux系统磁盘空间

java 订阅
linux 订阅