-
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没有磁盘总空间的方法???希望你的回复
提前致谢
更多相关内容 -
java监控Linux磁盘空间的使用情况
2020-11-20 18:23:58// 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 -
JAVA 获取linux系统磁盘使用率
2021-02-27 14:48:18/*** 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());
}
}
-
java代码获取Linux 磁盘空间的使用情况
2021-02-27 14:47:41import 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%
}
}
-
如何使用Java在Linux中获取总磁盘空间?
2021-07-16 22:33:27I 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... -
Java获取windows与Linux系统磁盘所剩空间大小(单位G)
2019-10-23 09:42:48/** * @return Map<...: key:磁盘盘符, value:磁盘剩余空间 */ public static Map<String, String> getHdInfo() {&... -
java 获取Linux 磁盘空间的使用情况
2018-03-25 13:13:19java 获取Linux 的磁盘使用空间。这样的话,可以在系统后台随时监控linux的磁盘使用情况。其实原理很简单,就是使用java执行Linux执行,然后解析显示结果版权属于: 技术客原文地址: ... -
Linux查看服务器总内存和总硬盘大小
2021-04-22 04:35:37一、linuxCPU大小; 其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到. flags 如果有 ht 说明支持超线程技术 判断物理CPU的个数可以查看physical id 的值... -
怎么用java代码读取linux主机的磁盘使用信息,同时截取出文件系统和已使用状况 放在map中可以得到keyvalu
2021-02-26 16:44:27/*** linux 下cpu 内存 磁盘 jvm的使用监控* @author avery_leo**/public class DiskSpace {/*** 获取cpu使用情况* @return* @throws Exception*/public double getcpuUsage() throws Except... -
java获取linux的磁盘空间,磁盘利用率
2019-05-23 11:18:47package ... 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:29df 以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 例如,我们使用df -h命令来查看磁盘信息, -h 选项为根据大小适当显示: 显示内容参数说明: Filesystem:文件系统 ... -
java获取磁盘名称、磁盘大小、磁盘剩余空间
2013-07-18 14:09:14java获取磁盘名称、磁盘大小、磁盘剩余空间 -
方法:Linux 下用JAVA获取CPU、内存、磁盘的系统资源信息
2021-02-26 09:50:56// top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源使用情况。 is = process.getInputStream(); // 可以读取新开启的程序的 System.out.print 输出的内容 isr = new InputStreamReader(is);... -
查看linux可用磁盘空间_如何在Linux中检查可用磁盘空间
2020-07-15 04:35:19查看linux可用磁盘空间 跟踪磁盘利用率信息在系统管理员(和其他人员)的日常任务清单上。 Linux有一些内置的实用程序可以帮助提供这些信息。 df df命令代表“无磁盘”,并显示Linux系统上的可用和已用磁盘空间... -
java - 操作系统 Linux
2022-04-11 10:47:23Linux是一套免费使用和自由传播的类似Unix操作系统,一般的WEB项目都是部署放在Linux操作系统上面。Linux是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用... -
Linux磁盘空间扩容(LVM)
2021-05-15 16:26:46Linux磁盘空间扩容(lvm)随着系统的运行时间增长,业务数据的增长,原有磁盘的空间会存在空间不足情况,导致系统不能正常运行,或者系统管理员磁盘没有完全划完,根据使用者的需求自行划分。那么怎么才能扩展原有磁盘... -
Java 获取linux根目录下的文件夹_Linux系统常用命令汇总
2020-11-20 18:00:411 Linux简介Linux是免费的类Unix操作系统,支持多用户和多任务。Linux发行版知名的Linux发行家族和发行版有:Ubuntu(Debian发行)、Centos(Fedora发行)等。 2 Linux基础知识2.1 基础知识目录结构:Linux的目录... -
Linux文件删除后空间未释放问题详解
2021-01-20 14:30:16当系统空间使用量过大需要清理空间或者清理某个文件时,有时会出现执行了删除命令之后磁盘空间并没有释放,很多人首次遇到该情况时会比较困惑,在考虑是不是像windows系统的回收站一样,删除只是逻辑删除到回收站... -
Linux环境下删除JAVA程序的日志,但磁盘空间未释放的情况
2021-10-18 21:20:41由上面的查询结果我们可以看到,已经删除的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;/ -
linux查看磁盘大小,文件大小常用方法(示例代码)
2021-02-27 22:53:441.查看磁盘大小使用df 命令df的主要功能是查看linux服务器的磁盘使用情况的,用来查看磁盘使用空间,剩余空间。df 【选项】【文件】显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统... -
2021-11-22--中标麒麟-Linux系统扩容根目录磁盘空间
2022-02-08 15:59:00title categories tags abbrlink date updated ... 中标麒麟-Linux系统扩容根目录磁盘空间 Linux 中标麒麟 yum 6db4 2021-11-22 15:21:15 -0800 2021-11-2... -
java 监控linux服务器cpu使用率、内存使用率、磁盘使用率、java进程是否存活等服务
2021-08-16 15:47:55java 监控linux服务器cpu、内存、java进程是否存活,发现异常发送邮件提醒 前一段时间在维护一个N年前的项目,这个项目十几个服务器,每个服务器上有十几个服务。接手后的几个星期天天有事,要不就是服务挂了导致... -
Java执行Linux命令
2021-12-21 18:01:43主要使用到两个类Runtime和Process ...// 查看硬盘空间 //初始化缓冲阅读器 BufferedReader in = null; //获取命令所得的缓冲流结果 in = new BufferedReader(new InputStreamReader(p.getInputStre -
linux--查看磁盘空间大小使用情况
2021-05-14 12:55:331.linux查看磁盘空间大小命令df-hDf命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式:df-hl显示格式为:文件系统容量已用可用已用%挂载点FilesystemSizeUsedAvailUse%... -
Java常用Linux命令集合
2021-04-03 14:41:02Linux 常用命令集合 一 基本知识了解 1.1 目录结构 /bin: 存放二进制可执行文件,常用命令一般都在这里 /etc: 存放系统管理和配置文件 /home: 存放所有用户文件的根目录,是用户主目录的基点 /usr: 用于存放... -
java学习之Linux磁盘管理
2021-02-27 22:52:56Linux磁盘管理是Linux管理员非常重要的必备技能,现在的Ubuntu,红帽都已经可以使用LVM进行分区管理,看起来好像不需要使用磁盘管理,磁盘可以自动管理,但是我们的磁盘如果坏了的话,还是需要更新或者系统需要扩容...