精华内容
下载资源
问答
  • 2021-03-04 04:35:57

    我可以获得可用磁盘空间.我如何获得总磁盘空间?

    我的代码是:

    import java.io.IOException;

    import org.apache.commons.io.FileSystemUtils;

    public class DiskSpace {

    public static void main(String[] args) {

    try {

    //calculate free disk space

    double freeDiskSpace = FileSystemUtils.freeSpaceKb(args[0]);

    System.out.println(args[0]);

    //convert the number into gigabyte

    double freeDiskSpaceGB = freeDiskSpace / 1024 / 1024;

    System.out.println("Free Disk Space (GB):" + freeDiskSpaceGB);

    } catch (IOException e) {

    e.printStackTrace();

    }

    }

    }

    FileSystemUtils没有磁盘总空间的方法???希望你的回复

    提前致谢

    更多相关内容
  • // 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

    展开全文
  • /*** linux 下cpu 内存 磁盘 jvm的使用监控* @author avery_leo**/public class DiskSpace {/*** 获取cpu使用情况* @return* @throws Exception*/public double getCpuUsage() throws Except...

    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());

    }

    }

    展开全文
  • import java.io.BufferedReader;import java.io....public class Linux {public static Desk getDeskUsage() {Desk desk = new Desk();try {Runtime rt = Runtime.getRuntime();Process p = rt.exec(...

    import java.io.BufferedReader;

    import java.io.InputStreamReader;

    public class Linux {

    public static Desk getDeskUsage() {

    Desk desk = new Desk();

    try {

    Runtime rt = Runtime.getRuntime();

    Process p = rt.exec("df -hl");// df -hl 查看硬盘空间

    BufferedReader in = null;

    try {

    in = new BufferedReader(new InputStreamReader(

    p.getInputStream()));

    String str = null;

    String[] strArray = null;

    int line = 0;

    while ((str = in.readLine()) != null) {

    line++;

    if (line != 2) {

    continue;

    }

    int m = 0;

    strArray = str.split(" ");

    for (String para : strArray) {

    if (para.trim().length() == 0)

    continue;

    ++m;

    if (para.endsWith("G") || para.endsWith("Gi")) {

    // 目前的服务器

    if (m == 2) {

    desk.setTotal(para);

    }

    if (m == 3) {

    desk.setUsed(para);

    }

    }

    if (para.endsWith("%")) {

    if (m == 5) {

    desk.setUse_rate(para);

    }

    }

    }

    }

    } catch (Exception e) {

    e.printStackTrace();

    } finally {

    in.close();

    }

    } catch (Exception e) {

    e.printStackTrace();

    }

    return desk;

    }

    public static class Desk {

    private String total;

    private String used;

    private String use_rate;

    public String toString(){

    return "总磁盘空间:"+total+",已使用:"+used+",使用率达:"+use_rate;

    }

    public String getTotal() {

    return total;

    }

    public void setTotal(String total) {

    this.total = total;

    }

    public String getUsed() {

    return used;

    }

    public void setUsed(String used) {

    this.used = used;

    }

    public String getUse_rate() {

    return use_rate;

    }

    public void setUse_rate(String use_rate) {

    this.use_rate = use_rate;

    }

    }

    public static void main(String[] args) {

    System.out.println(getDeskUsage());

    // 总磁盘空间:234Gi,已使用:100Gi,使用率达:44%

    }

    }

    展开全文
  • I am able to get free disk space. How would I get the total disk ...My code is:import java.io.IOException;import org.apache.commons.io.FileSystemUtils;public class DiskSpace {public static void mai...
  • java代码获取Linux磁盘空间大小

    千次阅读 2019-07-10 10:45:42
    需求:系统定时输出数据到数据库,数据库所在的当前磁盘的容量已经所剩不多时,需要将数据库中的数据导出成excel格式的文件并将文件存入其他磁盘 解决方案: File diskPartition = new File("/"); long usable...
  • /**      * @return Map<...: key:磁盘盘符, value:磁盘剩余空间      */      public static Map<String, String> getHdInfo() {&...
  • java 获取Linux 磁盘空间的使用情况

    千次阅读 2018-03-25 13:13:19
    java 获取Linux磁盘使用空间。这样的话,可以在系统后台随时监控linux磁盘使用情况。其实原理很简单,就是使用java执行Linux执行,然后解析显示结果版权属于: 技术客原文地址: ...
  • 一、linuxCPU大小; 其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到. flags 如果有 ht 说明支持超线程技术 判断物理CPU的个数可以查看physical id 的值...
  • /*** linux 下cpu 内存 磁盘 jvm的使用监控* @author avery_leo**/public class DiskSpace {/*** 获取cpu使用情况* @return* @throws Exception*/public double getcpuUsage() throws Except...
  • package ... import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.StringWriter; ...
  • linux查看磁盘空间命令

    千次阅读 2022-04-05 19:48:29
    df 以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 例如,我们使用df -h命令来查看磁盘信息, -h 选项为根据大小适当显示: 显示内容参数说明: Filesystem:文件系统 ...
  • java获取磁盘名称、磁盘大小、磁盘剩余空间
  • // top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源使用情况。 is = process.getInputStream(); // 可以读取新开启的程序的 System.out.print 输出的内容 isr = new InputStreamReader(is);...
  • 查看linux可用磁盘空间 跟踪磁盘利用率信息在系统管理员(和其他人员)的日常任务清单上。 Linux有一些内置的实用程序可以帮助提供这些信息。 df df命令代表“无磁盘”,并显示Linux系统上的可用和已用磁盘空间...
  • java - 操作系统 Linux

    千次阅读 2022-04-11 10:47:23
    Linux是一套免费使用和自由传播的类似Unix操作系统,一般的WEB项目都是部署放在Linux操作系统上面。Linux是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用...
  • Linux磁盘空间扩容(LVM)

    2021-05-15 16:26:46
    Linux磁盘空间扩容(lvm)随着系统的运行时间增长,业务数据的增长,原有磁盘的空间会存在空间不足情况,导致系统不能正常运行,或者系统管理员磁盘没有完全划完,根据使用者的需求自行划分。那么怎么才能扩展原有磁盘...
  • 1 Linux简介Linux是免费的类Unix操作系统,支持多用户和多任务。Linux发行版知名的Linux发行家族和发行版有:Ubuntu(Debian发行)、Centos(Fedora发行)等。 2 Linux基础知识2.1 基础知识目录结构:Linux的目录...
  • 系统空间使用量过大需要清理空间或者清理某个文件时,有时会出现执行了删除命令之后磁盘空间并没有释放,很多人首次遇到该情况时会比较困惑,在考虑是不是像windows系统的回收站一样,删除只是逻辑删除到回收站...
  •  由上面的查询结果我们可以看到,已经删除的java日志文件占用了很大的空间。  引起上面这种现象的主要原因是什么呢?  主要是因为我们在删除这个日志文件的时候是用rm-rf*.log这样的命令删除的,删除日志之后又...
  • 怎么查看Linux磁盘空间是否满了

    千次阅读 2021-05-13 03:15:08
    如果你在使用linux过程中遇到无法读写磁盘,应用程序无法执行,请求响应不了等问题,那多半是linux系统磁盘空间满了,那么怎么才能知道linux磁盘空间满了呢?又该如何解决呢?秋天网 Qiutian.ZqNF.Com小编就在这里为...
  • java获取linux硬件信息

    千次阅读 2021-06-11 14:56:05
    先放两个工具类进去 ... /** * @Author: shenjunfeng ...//返回状态码 (在linux中可以通过 echo $? 可知每步执行令执行的状态码) private String outRes;//标准正确输出流内容 private String errRes;/
  • 1.查看磁盘大小使用df 命令df的主要功能是查看linux服务器的磁盘使用情况的,用来查看磁盘使用空间,剩余空间。df 【选项】【文件】显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统...
  • title categories tags abbrlink date updated ... 中标麒麟-Linux系统扩容根目录磁盘空间 Linux 中标麒麟 yum 6db4 2021-11-22 15:21:15 -0800 2021-11-2...
  • java 监控linux服务器cpu、内存、java进程是否存活,发现异常发送邮件提醒 前一段时间在维护一个N年前的项目,这个项目十几个服务器,每个服务器上有十几个服务。接手后的几个星期天天有事,要不就是服务挂了导致...
  • Java执行Linux命令

    千次阅读 2021-12-21 18:01:43
    主要使用到两个类Runtime和Process ...// 查看硬盘空间 //初始化缓冲阅读器 BufferedReader in = null; //获取命令所得的缓冲流结果 in = new BufferedReader(new InputStreamReader(p.getInputStre
  • 1.linux查看磁盘空间大小命令df-hDf命令是linux系统磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式:df-hl显示格式为:文件系统容量已用可用已用%挂载点FilesystemSizeUsedAvailUse%...
  • Java常用Linux命令集合

    万次阅读 多人点赞 2021-04-03 14:41:02
    Linux 常用命令集合 一 基本知识了解 1.1 目录结构 /bin: 存放二进制可执行文件,常用命令一般都在这里 /etc: 存放系统管理和配置文件 /home: 存放所有用户文件的根目录,是用户主目录的基点 /usr: 用于存放...
  • Linux磁盘管理是Linux管理员非常重要的必备技能,现在的Ubuntu,红帽都已经可以使用LVM进行分区管理,看起来好像不需要使用磁盘管理,磁盘可以自动管理,但是我们的磁盘如果坏了的话,还是需要更新或者系统需要扩容...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 88,669
精华内容 35,467
关键字:

java查询linux系统磁盘空间

java 订阅