この記事では、CPU、メモリ、ハードディスク、ネットワークなどの情報を取得するJava実装方法について説明します。次のように参照のために共有してください。
1。Sigar-1.6.4.zipをダウンロードしてインストールします
Java独自のパッケージを使用してシステムデータを取得すると、パッケージを見つけるのは簡単です。特に、メモリ情報は十分に正確ではないため、Sigarを使用してシステム情報を取得することを選択してください。
アドレスをダウンロード:http://sourceforge.net/projects/sigar/files/latest/download?source=files
または、このサイトをダウンロードするにはここをクリックしてください。
圧縮されたパッケージを解凍し、sigar.jarをlibの下でclasspath of Eclipseにインポートし、sigar-x86-winnt.dllをJavaのビンディレクトリに保存します。
下の図に示すように:
2。コードの例
java.net.inetAddress; Import java.net.unknownhostexception; Import java.util.map; Import java.util.properties; Import org.hyperic.sigar.cpuinfo; Import org.hyperic.sigar.cpuperc; import.hyperic.systerg.syperic.syperic.syperic.systempuperc; org.hyperic.sigar.filesystemusage; Import org.hyperic.sigar.mem; Import org.hyperic.sigar.netflags; Import org.hyperic.sigar.netinterfaceconfig; Import org.hyperic.sigar.netinterfacestat; org.hyperic.sigar.operatingsystem; Import org.hyperic.sigar.sigar; Import org.hyperic.sigar.sigarexception; Import org.hyperic.sigar.swap; Import org.hyperic.sigar.who; wublic classestest情報、JVMからProperty()を取得します。 System.out.println("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- System.out.println("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- system.getProperties(); map.get(userdomain "); addr.gethostname()); System.out.println( "Java Runtimeバージョン:" + propsproperty( "Java.version")); Props.getProperty( "Java.vendor.url"); System.out.println( "Java Virtual Machine Specification:" + props.getProperty( "java.vm.specification.vendor")); + Props.getProperty(java.vm.specification.name ")); system.out.println( "Java仮想マシンの実装名:" + props.getproperty( "java.vm.name")); Props.getProperty( "Java.specification.version"); System.out.println( "Javaクラス形式バージョン番号:" + propsproperty( "java.class.version")); propsproperty(java.library.path ");システム名: " + props.getProperty(" os.name ")); system.out.println(" Operational System Architecture: " + props.getProperty(" os.Arch ")); system.out.println("操作システムバージョン: " + props.getProperty(" os.version "))); Props.getProperty( "file.separator"); propsproperty( "user.name"); sigar(); mem.getmem();量: " + mem.getFree() / 1024l +" k free "); swap swap = sigar.getswap(); //合計スワップ領域System.out.println(" + swap.getotal() / 1024l + "k av"); 1024L +「使用済み」 cpuperc cpulist [] = sigar.getcpuperclist();情報 "); system.out.println("合計CPU MHz: " + info.getMHz()); //合計CPU MHZ System.out.println(" cpu Manufacturer: " + info.getVendor(); Celeron System.out.println( "cpuキャッシュ番号:" + info.getCachesize()などのCPUを取得するカテゴリ。 cpuperc.format(cpu.getUser()) System.out.println( "cpu電流エラー率:" + cpuperc.format(cpu.getnice()); // system.out.println( " + cpuperc.format(cpu.getidle()); cpuperc.format(cpu.getCombined()); // Total usage} private static void os(){operatingSystem os = operatingsystem.getInstance(); System.out.println( "オペレーティングシステムCPUENDIAN():" + os.getCpuendian()); System.out.println( "os.getName():" + os.getName());システムセラー: " + os.getvendor()); // seller name system.out.println("オペレーティングシステムセラー: " + os.getVendorCodename()); //オペレーティングシステム名System.out.println(" OS名: " + os.getVendorname()); os.getVendorversion()); I <who ++) System.out.println( " + _who.gettime()); sigar.getFilesystemList();パーティションシステム。ドライブ、system.out.println( " + fs.gettypename()); {case 0:// known:// type_none break:// type_local_disk //合計ファイルシステムサイズsystem(fs.getdevname() + "サイズ: " + usage.getFree() +" kb "); //ファイルシステム利用可能なサイズSystem.out.println(fs.getdevname() +" beaval size: " + usage.getavail() +" kb "); system.out.println() + " + usage.getSection.getUsepercent() * 100D。ネットワークブレイク4://フラッシュブレイク:// Type_swap:Page Exchange.println() + " usage.getDiskWrites()); sigar.getnetinterfaceconfig(name); out.println( "net device name); // net device name system.out.println(" config.getadress()); (ifconfig.getflags()&1L)<= 0l){system.out.println( "!iff_up ... ifstat.getrxpackets()); //受信したパッケージの総数system.out.println(name + "送信されたパッケージの総数:" + ifstat.gettxpackets()); //送信されたパッケージの総数。 System.out.println(name + "送信されたバイトの総数:" + ifstat.gettxbytes()); ifstat.gettxerrors()); //パケットを送信するときのエラー数system.out.println(name + "受信中に破棄されたパケット数:" + ifstat.getrxdropped());送信中}} private static void ethernet()はsigar sigar = null; sigar.getnetinterfaceconfig(ifaces [i]); System.out.println(cfg.getName() + "IPアドレス:" + cfg.getAddress(); // IPアドレスSystem.out.println(cfg.getName() + "ゲートウェイブロードキャストアドレス:" + cfg.getBroadcast(); cfg.gethwaddr()); // nnetcard macアドレスSystem.out.println(cfg.getname() + "subnet mask:" + cfg.getnetmask()); // subnet mask system.out.println(cfg.getName() + "netcard decription:" + cfg.getdscradsipcation: Information System.out.println(cfg.getName() + "NetCard Type" + CFG.GetType(); //}}}}マシンの実行結果:
ユーザー名:管理者
コンピューター名:snjckv1vqgb6np9
コンピュータードメイン名:SNJCKV1VQGB6NP9
ローカルIPアドレス:192.168.3.37
ローカルホスト名:SNJCKV1VQGB6NP9
JVMが使用できる総メモリ:16252928
JVMが使用できる残りのメモリ:15346992
JVMが使用できるプロセッサの数:2
Javaのランニング環境バージョン:1.8.0_121
Javaの営業環境ベンダー:Oracle Corporation
JavaベンダーのURL:http://java.oracle.com/
Javaインストールパス:C:/プログラムファイル/Java/JDK1.8.0/JRE
Java仮想マシン仕様バージョン:1.8
Javaの仮想マシン仕様ベンダー:Oracle Corporation
Java仮想マシンの仕様名:Java仮想マシン仕様
Java仮想マシンの実装バージョン:25.121-B13
Java Virtual Machine実装ベンダー:Oracle Corporation
Java仮想マシンの実装名:Java Hotspot(TM)クライアントVM
Javaランタイム環境仕様バージョン:1.8
Javaランタイム環境仕様ベンダー:null
Javaランタイム環境仕様名:Java Platform API仕様
Javaクラス形式バージョン番号:52.0
Java ClassPath:C:/jsproot/demo/bin; c:/jsproot/demo/sigar.jar
ライブラリのロード時に検索されたパスのリスト:C:/プログラムファイル/Java/JDK1.8.0/bin; files/java/jre1.8.0_162/lib/i386; c:/python36/scripts/; c:/python36/; c:/programファイル/ImageMagick-6.2.7-Q16; c:/programdata/oracle/java/javapath; d:/railsinstaller/git/cmd; d:/railsinstaller/ruby2.1。 0/bin; c:/windows/system32; c:/windows; c:/windows/system32/wbem;ファイル/java/jdk1.8.0/bin; d:/go/bin; c:/program files/java/jdk1.8.0/bin; files/lua/5.1/clibs; c:/wamp/bin/php/php5.2.17; c:/python27/scripts; c:/python27/lib/site-packages/django/bin; c:/python27/scripts; e:/eclipse ;;;
デフォルトの一時ファイルパス:c:/users/admini〜1/appdata/local/temp/
1つ以上の拡張機能ディレクトリへのパス:C:/プログラムファイル/Java/JDK1.8.0/JRE/LIB/EXT; C:/WINDOWS/SUN/JAVA/LIB/EXT
オペレーティングシステム名:Windows 7
オペレーティングシステムアーキテクチャ:X86
オペレーティングシステムバージョン:6.1
ファイル区切り: /
パスセパレーター:;
Line Delimiter:ユーザーのアカウント名:管理者
ユーザーのホームディレクトリ:C:/ユーザー/管理者
ユーザーの現在の作業ディレクトリ:c:/jsproot/demo
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
最初のCPU情報
合計CPU MHz:2593
CPUメーカー:Intel
CPUカテゴリ:ペンティウム(R)デュアルコアCPU E5300 @ 2.60GHz
CPUキャッシュの数:-1
CPUユーザーの使用率:0.0%
CPUシステムの使用率:6.2%
CPU電流待機率:0.0%
CPU電流エラー率:0.0%
現在のCPUアイドル率:93.7%
合計CPU使用量:6.2%
2番目のCPU情報
合計CPU MHz:2593
CPUメーカー:Intel
CPUカテゴリ:ペンティウム(R)デュアルコアCPU E5300 @ 2.60GHz
CPUキャッシュの数:-1
CPUユーザーの使用率:0.0%
CPUシステムの使用率:6.2%
CPU電流待機率:0.0%
CPU電流エラー率:0.0%
現在のCPUアイドル率:93.7%
合計CPU使用量:6.2%
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
総メモリ:3634424Kav
現在のメモリ使用量:3264044K使用
現在のメモリの残り:370380K無料
スワップ領域の総数:7791448K AV
現在のスイッチングエリアの使用:5324308K使用
現在の残りの量のスワップ領域:2467140K無料
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
オペレーティングシステム:x86
オペレーティングシステムcpuendian():リトル
オペレーティングシステムdatamodel():32
オペレーティングシステムの説明:Microsoft Windows 2008
オペレーティングシステムセラー:Microsoft
オペレーティングシステムの売り手の名前:ロングホーンサーバー
オペレーティングシステム名:Windows 2008
オペレーティングシステムセラータイプ:2008
オペレーティングシステムバージョン番号:6.1
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
ユーザーコンソール:コンソール
ユーザーホスト:NT Authority
現在のシステムプロセステーブルのユーザー名:ローカルサービス
ユーザーコンソール:コンソール
ユーザーホスト:NT Authority
現在のシステムプロセステーブルのユーザー名:ネットワークサービス
ユーザーコンソール:コンソール
ユーザーホスト:SNJCKV1VQGB6NP9
現在のシステムプロセステーブルのユーザー名:管理者
ユーザーコンソール:コンソール
ユーザーホスト:NT Authority
現在のシステムプロセステーブルのユーザー名:システム
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
パーティションのドライブ文字名0
ドライブ文字名:C:/
ドライブレターパス:C:/
ドライブレターロゴ:0
ドライブレタータイプ:NTFS
ドライブレタータイプ名:ローカル
ドライブ文字ファイルシステムタイプ:2
C:/合計サイズ:31463268kb
C:/残りサイズ:8582992kb
C:/利用可能なサイズ:8582992kb
C:/使用額:22880276kb
C:/リソース利用率:73.0%
C:/読書:177479
c:/writde:144902
パーティションドライブ文字名1
ドライブ文字名:D:/
ドライブレターパス:D:/
ドライブレターロゴ:0
ドライブレタータイプ:NTFS
ドライブレタータイプ名:ローカル
ドライブ文字ファイルシステムタイプ:2
D:/合計サイズ:153107448kb
D:/残りサイズ:13722816kb
D:/使用可能なサイズ:13722816kb
D:/使用額:139384632kb
D:/リソース利用率:92.0%
D:/読書:87425
D:/writde:25166
パーティションドライブ文字名2
ドライブ文字名:E:/
ドライブレターパス:E:/
ドライブレターロゴ:0
ドライブレタータイプ:NTFS
ドライブレタータイプ名:ローカル
ドライブ文字ファイルシステムタイプ:2
E:/合計サイズ:152055192kb
e:/残りサイズ:20065708kb
E:/利用可能なサイズ:20065708kb
E:/使用:131989484kb
E:/リソース利用率:87.0%
E:/読書:58883
e:/writde:1232
パーティションドライブ文字名3
ドライブ文字名:F:/
ドライブレターパス:F:/
ドライブレターロゴ:0
ドライブレタータイプ:NTFS
ドライブレタータイプ名:ローカル
ドライブ文字ファイルシステムタイプ:2
F:/合計サイズ:151757988kb
F:/残りサイズ:14189172kb
F:/使用可能なサイズ:14189172kb
F:/使用:137568816kb
F:/リソース利用率:91.0%
f:/readed:20639
f:/writde:14
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
ネットワークデバイス名:ETH0
IPアドレス:0.0.0.0
サブネットマスク:0.0.0.0
ETH0:0で受信したパッケージの総数
ETH0:0によって送信されるパッケージの総数
ETH0:0で受信したバイトの総数
ETH0:0によって送信されるバイトの総数
ETH0:0で受信したエラーパケットの数
パケットを送信するときのエラー数ETH0:0
ETH0を受信したときに破棄されるパケットの数:0
ETH0が送信されたときに破棄されるパケットの数:0
ネットワークデバイス名:ETH1
IPアドレス:0.0.0.0
サブネットマスク:0.0.0.0
ETH1:0が受け取ったパッケージの総数
ETH1:0によって送信されるパッケージの総数
ETH1:0によって受信されたバイトの総数
ETH1:0によって送信されるバイトの総数
ETH1:0によって受信されたエラーパケットの数
ETH1がパケットを送信する場合のエラー数:0
ETH1が受信したときに破棄されるパケットの数:0
ETH1が送信されたときに破棄されるパケットの数:0
ネットワークデバイス名:ETH2
IPアドレス:0.0.0.0
サブネットマスク:0.0.0.0
ETH2:387028が受け取ったパッケージの総数
ETH2:205197が送信したパッケージの総数
ETH2:228616339で受信したバイトの総数
ETH2:35841128によって送信されるバイトの総数
ETH2:0で受信したエラーパケットの数
ETH2がパケットを送信する場合のエラー数:0
ETH2が受信したときに破棄されるパケットの数:0
ETH2が送信されたときに破棄されるパケットの数:0
ネットワークデバイス名:ETH3
IPアドレス:0.0.0.0
サブネットマスク:0.0.0.0
ETH3:387028が受け取ったパッケージの総数
ETH3:205197が送信したパッケージの総数
ETH3:228616339で受信したバイトの総数
ETH3:35841128によって送信されるバイトの総数
ETH3:0で受信したエラーパケットの数
ETH3がパケットを送信するときのエラー数:0
ETH3が受信したときに破棄されるパケットの数:0
ETH3が送信されたときに破棄されるパケットの数:0
ネットワークデバイス名:ETH4
IPアドレス:0.0.0.0
サブネットマスク:0.0.0.0
ETH4:0が受け取ったパッケージの総数
ETH4:0が送信したパッケージの総数
ETH4:0によって受信されたバイトの総数
ETH4:0によって送信されるバイトの総数
ETH4:0によって受信されたエラーパケットの数
ETH4がパケットを送信するときのエラー数:0
ETH4が受信したときに破棄されるパケットの数:0
ETH4が送信されたときに破棄されるパケットの数:0
ネットワークデバイス名:ETH5
IPアドレス:0.0.0.0
サブネットマスク:0.0.0.0
ETH5:0が受け取ったパッケージの総数
ETH5:0が送信したパッケージの総数
ETH5:0によって受信されたバイトの総数
ETH5:0によって送信されるバイトの総数
ETH5:0で受信したエラーパケットの数
ETH5がパケットを送信するときのエラー数:0
ETH5が受信したときに破棄されるパケットの数:0
ETH5が送信されたときに破棄されるパケットの数:0
ネットワークデバイス名:ETH6
IPアドレス:192.168.3.37
サブネットマスク:255.255.255.0
ETH6が受け取ったパッケージの総数:387028
ETH6:205197が送信したパッケージの総数
ETH6:228616339で受信したバイトの総数
ETH6:35841128によって送信されるバイトの総数
ETH6:0によって受信されたエラーパケットの数
ETH6がパケットを送信するときのエラー数:0
ETH6が受信したときに破棄されるパケットの数:0
ETH6が送信されたときに破棄されるパケットの数:0
ネットワークデバイス名:ETH7
IPアドレス:0.0.0.0
サブネットマスク:0.0.0.0
ETH7:0が受け取ったパッケージの総数
ETH7:0が送信したパッケージの総数
ETH7:0で受信したバイトの総数
ETH7:0によって送信されるバイトの総数
ETH7:0で受信したエラーパケットの数
ETH7:0でパケットを送信するときのエラー数
ETH7が受信したときに破棄されるパケットの数:0
ETH7が送信されたときに破棄されるパケットの数:0
ネットワークデバイス名:ETH8
IPアドレス:0.0.0.0
サブネットマスク:0.0.0.0
ETH8:0が受け取ったパッケージの総数
ETH8:0が送信したパッケージの総数
ETH8:0によって受信されたバイトの総数
ETH8:0によって送信されるバイトの総数
ETH8:0で受信したエラーパケットの数
ETH8がパケットを送信するときのエラー数:0
ETH8が受信したときに破棄されるパケットの数:0
ETH8が送信されたときに破棄されるパケットの数:0
ネットワークデバイス名:LO0
IPアドレス:127.0.0.1
サブネットマスク:255.0.0.0
LO0受信したパッケージの総数:0
LO0:0が送信したパッケージの総数
LO0受信したバイトの総数:0
LO0:0によって送信されるバイトの総数
LO0受信したエラーパケットの数:0
LO0パケットを送信するときのエラー数:0
LO0受信時に破棄されたパケットの数:0
LO0送信時に破棄されたパケットの数:0
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
ETH0IPアドレス:0.0.0.0
ETH0ゲートウェイブロードキャストアドレス:0.0.0.0
ETH0ネットワークカードMACアドレス:DA:90:20:52:41:53
ETH0サブネットマスク:0.0.0.0
ETH0ネットワークカード説明情報:Wan Miniport(IPv6)
ETH0ネットワークカードタイプのイーサネット
ETH1IPアドレス:0.0.0.0
ETH1ゲートウェイブロードキャストアドレス:0.0.0.0
ETH1ネットワークカードMacアドレス:DA:90:20:52:41:53
ETH1サブネットマスク:0.0.0.0
ETH1ネットワークカード説明情報:Wan Miniport(ネットワークモニター)
ETH1ネットワークカードタイプのイーサネット
ETH2IPアドレス:0.0.0.0
ETH2ゲートウェイブロードキャストアドレス:0.0.0.0
ETH2ネットワークカードMacアドレス:E0:CB:4E:07:75:85
ETH2サブネットマスク:0.0.0.0
ETH2ネットワークカード説明情報:RealTek PCIE GBEファミリーコントローラー-QOSパケットスケジューラ-0000
ETH2ネットワークカードタイプのイーサネット
ETH3IPアドレス:0.0.0.0
ETH3ゲートウェイブロードキャストアドレス:0.0.0.0
ETH3ネットワークカードMacアドレス:E0:CB:4E:07:75:85
ETH3サブネットマスク:0.0.0.0
ETH3ネットワークカードの説明情報:Realtek PCIE GBEファミリーコントローラーWFP軽量フィルター-0000
ETH3ネットワークカードタイプのイーサネット
ETH4IPアドレス:0.0.0.0
ETH4ゲートウェイブロードキャストアドレス:0.0.0.0
ETH4ネットワークカードMacアドレス:DA:90:20:52:41:53
ETH4サブネットマスク:0.0.0.0
ETH4ネットワークカード説明情報:Wan Miniport(IP)
ETH4ネットワークカードタイプのイーサネット
ETH5IPアドレス:0.0.0.0
ETH5ゲートウェイブロードキャストアドレス:0.0.0.0
ETH5ネットワークカードMacアドレス:DA:90:20:52:41:53
ETH5サブネットマスク:0.0.0.0
ETH5ネットワークカード説明情報:Wan Miniport(ネットワークモニター)-QOSパケットスケジューラ-0000
ETH5ネットワークカードタイプのイーサネット
ETH6IPアドレス:192.168.3.37
ETH6ゲートウェイブロードキャストアドレス:192.168.3.255
ETH6ネットワークカードMacアドレス:E0:CB:4E:07:75:85
ETH6サブネットマスク:255.255.255.0
ETH6ネットワークカード説明情報:RealTek PCIEGBEファミリーコントローラー
ETH6ネットワークカードタイプのイーサネット
ETH7IPアドレス:0.0.0.0
ETH7ゲートウェイブロードキャストアドレス:0.0.0.0
ETH7ネットワークカードMACアドレス:DA:90:20:52:41:53
ETH7サブネットマスク:0.0.0.0
ETH7ネットワークカードの説明情報:Wan Miniport(IP)-QOSパケットスケジューラ-0000
ETH7ネットワークカードタイプのイーサネット
ETH8IPアドレス:0.0.0.0
ETH8ゲートウェイブロードキャストアドレス:0.0.0.0
ETH8ネットワークカードMACアドレス:DA:90:20:52:41:53
ETH8サブネットマスク:0.0.0.0
ETH8ネットワークカード説明情報:Wan Miniport(IPv6)-QOSパケットスケジューラ-0000
ETH8ネットワークカードタイプのイーサネット
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
Java関連のコンテンツの詳細については、このサイトのトピックをご覧ください:「Javaネットワークプログラミングスキルの要約」、「Javaソケットプログラミングスキルの概要」、「Javaファイルとディレクトリ操作スキルの概要」、Javaデータ構造とアルゴリズムに関するチュートリアル」、「Java Operation dom Node operince opertions "summary opers of oper opering" opering opers of "summary" summary of "summary of Java
この記事がみんなのJavaプログラミングに役立つことを願っています。