国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java 使用oshi獲取當(dāng)前服務(wù)器狀態(tài)cpu、內(nèi)存、存儲(chǔ)等核心信息

這篇具有很好參考價(jià)值的文章主要介紹了Java 使用oshi獲取當(dāng)前服務(wù)器狀態(tài)cpu、內(nèi)存、存儲(chǔ)等核心信息。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

簡(jiǎn)介

OSHI 是基于 JNA 的(本地)操作系統(tǒng)和硬件信息庫。它不需要安裝任何其他額外的本地庫,旨在提供一種跨平臺(tái)的實(shí)現(xiàn)來檢索系統(tǒng)信息,例如操作系統(tǒng)版本、進(jìn)程、內(nèi)存和 CPU 使用率、磁盤和分區(qū)、設(shè)備、傳感器等。

使用 OSHI 可以對(duì)應(yīng)用程序進(jìn)行監(jiān)控,可以對(duì)應(yīng)用程序所在的服務(wù)器資源進(jìn)行監(jiān)控,還可以監(jiān)控到其他許多指標(biāo),如下:

1、計(jì)算機(jī)系統(tǒng)和固件,底板
2、操作系統(tǒng)和版本 / 內(nèi)部版本
3、物理(核心)和邏輯(超線程)CPU,處理器組,NUMA 節(jié)點(diǎn)
4、系統(tǒng)和每個(gè)處理器的負(fù)載百分比和滴答計(jì)數(shù)器
5、CPU 正常運(yùn)行時(shí)間,進(jìn)程和線程
6、進(jìn)程正常運(yùn)行時(shí)間,CPU,內(nèi)存使用率,用戶 / 組,命令行
7、已使用 / 可用的物理和虛擬內(nèi)存
8、掛載的文件系統(tǒng)(類型,可用空間和總空間)
9、磁盤驅(qū)動(dòng)器(型號(hào),序列號(hào),大?。┖头謪^(qū)
10、網(wǎng)絡(luò)接口(IP,帶寬輸入 / 輸出)
11、電池狀態(tài)(電量百分比,剩余時(shí)間,電量使用情況統(tǒng)計(jì)信息)
12、連接的顯示器(帶有 EDID 信息)
13、USB 設(shè)備
14、傳感器(溫度,風(fēng)扇速度,電壓)

支持的平臺(tái):

Windows
Linux
macOS
UNIX (AIX, FreeBSD, OpenBSD, Solaris)

相關(guān)資料

github 地址:https://github.com/oshi/oshi
API 文檔:http://oshi.github.io/oshi/apidocs/

maven依賴

       <dependency>
            <groupId>com.github.oshi</groupId>
            <artifactId>oshi-core</artifactId>
            <version>6.3.2</version>
        </dependency>
        <dependency>
            <groupId>net.java.dev.jna</groupId>
            <artifactId>jna</artifactId>
            <version>5.12.1</version>
        </dependency>
        <dependency>
            <groupId>net.java.dev.jna</groupId>
            <artifactId>jna-platform</artifactId>
            <version>5.12.1</version>
        </dependency>

java linux獲取cup id,Java基礎(chǔ)理論,工具類,java

oshi-官方示例

此外,該oshi-demo模塊包括一個(gè)OshiGui類,它實(shí)現(xiàn)了一個(gè)基本的 Swing GUI,為在 UI、監(jiān)控或警報(bào)應(yīng)用程序中使用 OSHI 的潛在可視化提供建議,如下所示。有關(guān)基于此方法的更高級(jí) GUI,請(qǐng)參閱MooInfo 項(xiàng)目。

獲取CUP信息代碼

獲取時(shí)與windows窗口等查看CUP利用率的信息有差異,本身CUP利用率存在很大的波動(dòng)。文章來源地址http://www.zghlxwxcb.cn/news/detail-775330.html

public static CpuEntity getCpu() throws InterruptedException {
        SystemInfo systemInfo = new SystemInfo();
        GlobalConfig.set(GlobalConfig.OSHI_OS_WINDOWS_CPU_UTILITY, Boolean.TRUE);
        CentralProcessor processor = systemInfo.getHardware().getProcessor();
        long[] prevTicks = processor.getSystemCpuLoadTicks();
        // 睡眠1s
        TimeUnit.SECONDS.sleep(1);
        long[] ticks = processor.getSystemCpuLoadTicks();
        long nice = ticks[CentralProcessor.TickType.NICE.getIndex()] - prevTicks[CentralProcessor.TickType.NICE.getIndex()];
        long irq = ticks[CentralProcessor.TickType.IRQ.getIndex()] - prevTicks[CentralProcessor.TickType.IRQ.getIndex()];
        long softirq = ticks[CentralProcessor.TickType.SOFTIRQ.getIndex()] - prevTicks[CentralProcessor.TickType.SOFTIRQ.getIndex()];
        long steal = ticks[CentralProcessor.TickType.STEAL.getIndex()] - prevTicks[CentralProcessor.TickType.STEAL.getIndex()];
        long cSys = ticks[CentralProcessor.TickType.SYSTEM.getIndex()] - prevTicks[CentralProcessor.TickType.SYSTEM.getIndex()];
        long user = ticks[CentralProcessor.TickType.USER.getIndex()] - prevTicks[CentralProcessor.TickType.USER.getIndex()];
        long iowait = ticks[CentralProcessor.TickType.IOWAIT.getIndex()] - prevTicks[CentralProcessor.TickType.IOWAIT.getIndex()];
        long idle = ticks[CentralProcessor.TickType.IDLE.getIndex()] - prevTicks[CentralProcessor.TickType.IDLE.getIndex()];
        long totalCpu = user + nice + cSys + idle + iowait + irq + softirq + steal;
        CpuEntity cpuEntity = new CpuEntity();
        cpuEntity.setSys(new DecimalFormat("#.##").format(cSys * 1.0 / totalCpu));
        cpuEntity.setUser(new DecimalFormat("#.##").format(user * 1.0 / totalCpu));
        cpuEntity.setWait(new DecimalFormat("#.##").format(iowait * 1.0 / totalCpu));
        cpuEntity.setWait(new DecimalFormat("#.##").format(idle * 1.0 / totalCpu));
        //  user + system + nice + iowait + irq + softirq + steal
        long cpuUtilization = user + nice + cSys + iowait + irq + softirq + steal;
        cpuEntity.setCombined(new DecimalFormat("#.##").format((cpuUtilization * 1.0 / totalCpu)*100));
        return cpuEntity;
    }

獲取內(nèi)存信息

    public static MemoryEntity getMemory() {
        OperatingSystemMXBean osmxb = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
        MemoryEntity memoryEntity = new MemoryEntity();
        memoryEntity.setMemTotal(osmxb.getTotalPhysicalMemorySize() / 1024 / 1024 / 1024);
        memoryEntity.setMemUsed((osmxb.getTotalPhysicalMemorySize() - osmxb.getFreePhysicalMemorySize()) / 1024 / 1024 / 1024);
        return memoryEntity;
    }

獲取磁盤信息

  			File[] roots = File.listRoots();
            Long useSum = 0l;
            Long totalSum = 0l;
            for (File file : roots) {
                long free = file.getFreeSpace();
                long total = file.getTotalSpace();
                long use = total - free;
                useSum += change(use);
                totalSum += change(total);
            }

到了這里,關(guān)于Java 使用oshi獲取當(dāng)前服務(wù)器狀態(tài)cpu、內(nèi)存、存儲(chǔ)等核心信息的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • js獲取當(dāng)前服務(wù)器的ip

    如果提供的服務(wù)不是域名,而是ip形式,獲取當(dāng)前服務(wù)器的IP地址,可以使用JavaScript中的 window.location 對(duì)象。 window.location 對(duì)象包含當(dāng)前頁面的URL信息,包括主機(jī)名、協(xié)議、端口號(hào)等??梢詮?window.location 對(duì)象中提取服務(wù)器的IP地址。 使用 window.location.hostname 屬性獲取當(dāng)前服務(wù)器

    2024年02月11日
    瀏覽(30)
  • Python3 獲取當(dāng)前服務(wù)器公網(wǎng) IP 地址

    有同學(xué)問我如何使用 Python 獲取服務(wù)器公網(wǎng)的 IP 地址呢?我測(cè)試幾個(gè)發(fā)現(xiàn),方法有很多,好用的就發(fā)現(xiàn)一種,即直接使用 Python 自帶的 socket 包。 代碼示例: 這樣就能實(shí)現(xiàn) Python 獲取當(dāng)前服務(wù)器公網(wǎng)的 IP 地址了。

    2024年02月06日
    瀏覽(34)
  • 交換機(jī)端口燈常亮 端口up狀態(tài) 服務(wù)器設(shè)置ip交換機(jī)獲取不到服務(wù)器網(wǎng)卡mac地址 不能通信

    交換機(jī)端口燈常亮 端口up狀態(tài) 服務(wù)器設(shè)置ip交換機(jī)獲取不到服務(wù)器網(wǎng)卡mac地址 不能通信

    深信服防火墻 8.0.75 AF-2000-FH2130B-SC S6520X-24ST-SI交換機(jī) version 7.1.070, Release 6530P02 交換機(jī)一個(gè)vlan下有3臺(tái)服務(wù)器,連接端口2、3、4,2和3連接的服務(wù)器正常,交換機(jī)3端口燈常亮 端口up狀態(tài) 服務(wù)器自動(dòng)獲取不了地址,改為手動(dòng)設(shè)置ip后,交換機(jī)查看arp表,獲取不到服務(wù)器網(wǎng)卡mac地址

    2024年02月02日
    瀏覽(26)
  • 使用Python監(jiān)控服務(wù)器在線狀態(tài)

    使用Python監(jiān)控服務(wù)器在線狀態(tài)

    在公司內(nèi)網(wǎng)有一臺(tái)服務(wù)器,有動(dòng)態(tài)的公網(wǎng)IP,使用DDNS對(duì)外提供服務(wù),但是會(huì)因?yàn)橥k姟⒎?wù)器卡死等原因?qū)е路?wù)器離線。服務(wù)器離線后無法及時(shí)獲知,因此需要實(shí)現(xiàn)在服務(wù)器離線的時(shí)候能夠發(fā)送消息到手機(jī)上。 公司辦理的是聯(lián)通的商務(wù)寬帶,有贈(zèng)送一臺(tái)沃云的ECS,但是一直

    2024年02月04日
    瀏覽(30)
  • JAVA如何獲取服務(wù)器ip

    該方法返回的是默認(rèn)的本地地址,可能是服務(wù)器上某個(gè)網(wǎng)絡(luò)接口的IP地址,但不一定是我們期望獲取的IP地址。 為了獲取正確的IP地址,可以使用其他方法來獲取服務(wù)器上所有的網(wǎng)絡(luò)接口,并遍歷每個(gè)網(wǎng)絡(luò)接口來獲取對(duì)應(yīng)的IP地址。可以使用 NetworkInterface 類來實(shí)現(xiàn)此功能,如下

    2024年02月07日
    瀏覽(22)
  • Java 獲取遠(yuǎn)程ftp服務(wù)器的文件

    Java 獲取遠(yuǎn)程ftp服務(wù)器的文件

    最近做醫(yī)療的項(xiàng)目,涉及遠(yuǎn)程訪問醫(yī)院的pacs服務(wù)器獲取醫(yī)療影像數(shù)據(jù)。由于醫(yī)院廠商只提供了ftp的相關(guān)信息。需要用java開發(fā)腳本來自動(dòng)拉取T-1的數(shù)據(jù)。 涉及jar包 ### main函數(shù) 其中涉及的配置類 ftp client連接server端 通過上面的代碼實(shí)現(xiàn)自動(dòng)拉取ftp服務(wù)端應(yīng)用目錄下面的文件(也

    2024年02月11日
    瀏覽(31)
  • java服務(wù)器獲取ip 解讀請(qǐng)求頭 偽造ip

    目錄 一、獲取ip的代碼 二、請(qǐng)求頭解讀 三、注意事項(xiàng) 市面上流傳的JAVA/PHP服務(wù)器端獲取客戶端IP都是這樣: X-Forwarded-For 這是一個(gè) Squid 開發(fā)的字段,只有在通過了 HTTP 代理或者負(fù)載均衡服務(wù)器時(shí)才會(huì)添加該項(xiàng)。格式為X-Forwarded-For: client1, proxy1, proxy2,一般情況下,第一個(gè)ip為客

    2024年02月08日
    瀏覽(22)
  • ruoyi項(xiàng)目服務(wù)器重啟后臺(tái)報(bào):歡迎使用RuoYi后臺(tái)管理框架,當(dāng)前版本:v3.8.1,請(qǐng)通過前端地址訪問。

    ruoyi項(xiàng)目服務(wù)器重啟后臺(tái)報(bào):歡迎使用RuoYi后臺(tái)管理框架,當(dāng)前版本:v3.8.1,請(qǐng)通過前端地址訪問。

    阿西,真的想罵人,不會(huì)耶,根本不會(huì),咱就不明白了,怎么好好的項(xiàng)目在服務(wù)器上運(yùn)行的好好的,不就是服務(wù)器到期了停了一下子再續(xù)上重啟,再進(jìn)去跟后臺(tái)系統(tǒng),就歡迎使用RuoYi后臺(tái)管理框架,當(dāng)前版本:v3.8.1,請(qǐng)通過前端地址訪問。,真的好煩,不是自己寫的代碼,也

    2024年02月04日
    瀏覽(22)
  • Java后臺(tái)獲取客戶端ip與服務(wù)器ip的方法

    1.可以用 RestTemplate 發(fā)送http請(qǐng)求

    2024年02月11日
    瀏覽(30)
  • 【vue3】前端應(yīng)用中使用WebSocket與服務(wù)器進(jìn)行通信并管理連接狀態(tài)。

    1、寫一個(gè)hook函數(shù) url 是WebSocket的服務(wù)器地址,其中 Math.random() 用于生成一個(gè)隨機(jī)數(shù),以避免緩存問題。 onConnected 、 onDisconnected 和 onError 是連接建立、斷開和出錯(cuò)時(shí)的回調(diào)函數(shù),你可以根據(jù)實(shí)際需求來定義它們。 onMessageDefault 是當(dāng)接收到消息時(shí)的默認(rèn)處理函數(shù),在這里將接收

    2024年02月09日
    瀏覽(45)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包