java如何获取远程计算机的系统信息,cpu使用情况,磁盘使用情况等等

java如何获取远程计算机的系统信息,cpu使用情况,磁盘使用情况等等,第1张

1、在远程server里搭建一个>

import javaioFile;

import javaioFileFilter;

import javautilHashMap;

import javautilMap;

public class T1 {

    /存放文件后缀 对应的大小/

    private static final Map<String, Long> sizeMap = new HashMap<String, Long>();

    /存放文件后缀 对应的个数/

    private static final Map<String, Integer> countMap = new HashMap<String, Integer>();

    

    

    public static void main(String[] args) {

        String path = "F:";

        filter(path);

        

        for(String key :sizeMapkeySet()) {

            Systemoutprintln("后缀:" + key + "\t字节:" + (sizeMapget(key)==null0:sizeMapget(key)) + "\t个数为" + (countMapget(key)==null0:countMapget(key)));

        }

        

    }

    

    

    public static void filter(String path){

        File file = new File(path);

        filelistFiles(new FileFilter() {

            @Override

            public boolean accept(File f) {

                if(fisDirectory()) {

                    filter(fgetPath());

                    return false;

                }

                String fileName = fgetName();

                

                if(fileNameindexOf("") == -1) {

                    return false;

                }

                

                String suffix =fileNamesplit("\\")[1];//获得文件后缀

                //把文件后缀相同的字节数相加

                Long size = (sizeMapget(suffix)==null0:sizeMapget(suffix)) + flength();

                sizeMapput(suffix, size);

                //把文件后缀相同的个数相加

                Integer count = (countMapget(suffix)==null0:countMapget(suffix)) + 1;            

                countMapput(suffix, count);

                return false;

            }

        });

    }

}

运行结果太长了,我随便截取点吧:

后缀:1-1    字节:1820    个数为2

后缀:dll_2016-05-23_000    字节:345    个数为1

后缀:dat    字节:20253796    个数为28

后缀:1-2    字节:1302    个数为2

后缀:md    字节:53548    个数为4

后缀:MF    字节:1105    个数为10

后缀:html    字节:745985    个数为75

后缀:lrc    字节:6872    个数为6

后缀:9-2    字节:1478    个数为2

后缀:dll_2016-03-31_000    字节:55    个数为1

后缀:9-3    字节:1436    个数为2

后缀:all    字节:3003366    个数为4

后缀:66b    字节:6786365    个数为1

后缀:withoutimage    字节:383536    个数为4

后缀:eclipse    字节:27666    个数为104

后缀:woff    字节:437588    个数为20

后缀:spr    字节:15084930    个数为311

后缀:mdl    字节:79521996    个数为487

后缀:m3d    字节:199680    个数为3

后缀:JPG    字节:261216    个数为113

后缀:fgd    字节:37819    个数为1

后缀:79d    字节:23795338    个数为3

后缀:79e    字节:8001129    个数为1

后缀:gif    字节:1453085    个数为597

后缀:dll_2016-04-26_000    字节:115    个数为1

后缀:70LeagueV    字节:549361    个数为1

后缀:lst    字节:47492    个数为13

后缀:26q_v1    字节:7284946    个数为1

后缀:sql    字节:87909    个数为6

后缀:11-4    字节:1230    个数为2

后缀:11-3    字节:1804    个数为2

后缀:timer    字节:10452    个数为3

后缀:html5only    字节:467448    个数为4

后缀:dll_2016-05-17_000    字节:115    个数为1

后缀:11-2    字节:1770    个数为2

后缀:11-1    字节:2032    个数为2

后缀:flexslider-min    字节:65025    个数为3

后缀:dll_2016-07-01_000    字节:13427    个数为2

后缀:greenxf    字节:97562    个数为1

特地敲了代码 要采纳啊,我这测试的是F盘 是可以的, 你有什么疑问  可追问我

package comcmmbutil;

import javaio;

/

linux 下cpu 内存 磁盘 jvm的使用监控

@author avery_leo

/

public class DiskSpace {

/

获取cpu使用情况

@return

@throws Exception

/

public double getcpuUsage() throws Exception {

double cpuUsed = 0;

Runtime rt = RuntimegetRuntime();

Process p = rtexec("top -b -n 1");// 调用系统的“top"命令

BufferedReader in = null;

try {

in = new BufferedReader(new InputStreamReader(pgetInputStream()));

String str = null;

String[] strArray = null;

while ((str = inreadLine()) != null) {

int m = 0;

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

strArray = strsplit(" ");

for (String tmp : strArray) {

if (tmptrim()length() == 0)

continue;

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

cpuUsed += DoubleparseDouble(tmp);

}

}

}

}

} catch (Exception e) {

eprintStackTrace();

} finally {

inclose();

}

return cpuUsed;

}

/

内存监控

@return

@throws Exception

/

public double getMemUsage() throws Exception {

double menUsed = 0;

Runtime rt = RuntimegetRuntime();

Process p = rtexec("top -b -n 1");// 调用系统的“top"命令

BufferedReader in = null;

try {

in = new BufferedReader(new InputStreamReader(pgetInputStream()));

String str = null;

String[] strArray = null;

while ((str = inreadLine()) != null) {

int m = 0;

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

//

// Systemoutprintln("------------------3-----------------");

strArray = strsplit(" ");

for (String tmp : strArray) {

if (tmptrim()length() == 0)

continue;

if (++m == 10) {

// 9)--第10列为mem的使用百分比(RedHat 9)

menUsed += DoubleparseDouble(tmp);

}

}

}

}

} catch (Exception e) {

eprintStackTrace();

} finally {

inclose();

}

return menUsed;

}

/

获取磁盘空间大小

@return

@throws Exception

/

public double getDeskUsage() throws Exception {

double totalhd = 0;

double usedhd = 0;

Runtime rt = RuntimegetRuntime();

Process p = rtexec("df -hl /home");//df -hl 查看硬盘空间

BufferedReader in = null;

try {

in = new BufferedReader(new InputStreamReader(pgetInputStream()));

String str = null;

String[] strArray = null;

while ((str = inreadLine()) != null) {

int m = 0;

strArray = strsplit(" ");

for (String tmp : strArray) {

if (tmptrim()length() == 0)

continue;

++m;

Systemoutprintln("----tmp----" + tmp);

if (tmpindexOf("G") != -1) {

if (m == 2) {

Systemoutprintln("---G----" + tmp);

if (!tmpequals("") && !tmpequals("0"))

totalhd += DoubleparseDouble(tmp

substring(0, tmplength() - 1)) 1024;

}

if (m == 3) {

Systemoutprintln("---G----" + tmp);

if (!tmpequals("none") && !tmpequals("0"))

usedhd += DoubleparseDouble(tmpsubstring(

0, tmplength() - 1)) 1024;

}

}

if (tmpindexOf("M") != -1) {

if (m == 2) {

Systemoutprintln("---M---" + tmp);

if (!tmpequals("") && !tmpequals("0"))

totalhd += DoubleparseDouble(tmp

substring(0, tmplength() - 1));

}

if (m == 3) {

Systemoutprintln("---M---" + tmp);

if (!tmpequals("none") && !tmpequals("0"))

usedhd += DoubleparseDouble(tmpsubstring(

0, tmplength() - 1));

Systemoutprintln("----3----" + usedhd);

}

}

}

}

} catch (Exception e) {

eprintStackTrace();

} finally {

inclose();

}

//上面写在userd和total写反了,懒得改了,就反着用了

Systemoutprintln("----totalhd----" + usedhd);

Systemoutprintln("----usedhd----" + totalhd);

return (totalhd / usedhd) 100;

}

public static void main(String[] args) throws Exception {

DiskSpace cpu = new DiskSpace();

Systemoutprintln("---------------cpu used:" + cpugetcpuUsage() + "%");

Systemoutprintln("---------------mem used:" + cpugetMemUsage() + "%");

Systemoutprintln("---------------HD used:" + cpugetDeskUsage() + "%");

Systemoutprintln("------------jvm监控----------------------");

Runtime lRuntime = RuntimegetRuntime();

Systemoutprintln("--------------Free Momery:" + lRuntimefreeMemory()+"K");

Systemoutprintln("--------------Max Momery:" + lRuntimemaxMemory()+"K");

Systemoutprintln("--------------Total Momery:" + lRuntimetotalMemory()+"K");

Systemoutprintln("---------------Available Processors :"

+ lRuntimeavailableProcessors());

}

}

你用是智能手机

比如诺机亚的3200可以当掌上电脑用

你的也如此

他具备电脑的特性

你可一关闭一些正在运行的文件

或者删除一些内存软件

显示磁盘空间不足,这个不足并不是单纯的指存储大小不足,主要指的是RAM不足,RAM是一个硬件装置,在电脑上表现为内存条,因为你运行的JAVA软件所需要的RAM存储大于你手机本身所拥有的存储量,所以会提示你磁盘空间不足~

以上就是关于java如何获取远程计算机的系统信息,cpu使用情况,磁盘使用情况等等全部的内容,包括:java如何获取远程计算机的系统信息,cpu使用情况,磁盘使用情况等等、java程序磁盘满了,还能正常运行吗、java程序 做一个这样的程序:统计某磁盘的使用情况 统计在这磁盘中,各种文件的个数和占磁盘空间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9823449.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存