JavaでコンピューターのCPU、メモリ、ディスクの使用状況を監視するにはどうすればよいですか?

David Crow:

Javaで次のシステム情報を監視したいと思います。

  • 現在のCPU使用率**(パーセント)
  • 利用可能なメモリ*(無料/合計)
  • 利用可能なディスク容量(無料/合計)

    *私は、JVMだけでなく、システム全体で利用可能なメモリ全体を意味することに注意してください。

私は、自分のコードが外部プログラムを呼び出したりJNIを使​​用したりすることに依存しないクロスプラットフォームソリューション(Linux、Mac、Windows)を探しています。これらは実行可能なオプションですが、誰かがすでにより良い解決策を持っている場合、私はOS固有のコードを自分で維持しないことを望みます。

信頼できるクロスプラットフォームの方法でこれを行う無料のライブラリがあれば、それは素晴らしいことです(外部呼び出しを行ったり、ネイティブコード自体を使用したりする場合でも)。

どんな提案も大歓迎です。

明確にするために、Javaプロセスだけでなく、システム全体の現在のCPU使用率を取得したいと思います。

SIGAR APIは、探しているすべての機能を1つのパッケージで提供するため、これまでの私の質問に対する最良の答えです。ただし、GPLでライセンスされているため、元の目的(クローズドソース、商用製品)には使用できません。HypericがSIGARの商用利用を許可する可能性はありますが、まだ調べていません。私のGPLプロジェクトでは、将来的に間違いなくSIGARを検討します。

私の現在のニーズのために、私は次のことに傾いています。

  • CPU使用率OperatingSystemMXBean.getSystemLoadAverage() / OperatingSystemMXBean.getAvailableProcessors()CPU あたりの負荷平均)
  • 記憶のために、OperatingSystemMXBean.getTotalPhysicalMemorySize()そしてOperatingSystemMXBean.getFreePhysicalMemorySize()
  • ディスク容量、File.getTotalSpace()およびFile.getUsableSpace()

制限:

getSystemLoadAverage()メソッドを照会し、ディスクスペースまた、Java 6の下でのみ使用可能であり、いくつかのJMX機能は、(それがあることが報告されています。すなわち、すべてのプラットフォームに利用できない場合がgetSystemLoadAverage()-1を返すWindowsの場合)。

もともとGPLの下でライセンスされていましたがApache 2.0変更さました。これは一般に、クローズドソースの商用製品に使用できます。

マットカミングス:

この投稿で私が述べことに沿ってSIGAR APIの使用をお勧めします私は自分のアプリケーションの1つでSIGAR APIを使用しています。あなたはそれが安定していて、よくサポートされており、便利な例がたくさんあることがわかります。これは、 GPL 2 Apache 2.0ライセンスのオープンソース です。見てみな。あなたのニーズに応えられると思います。

JavaとSigar APIを使用すると、メモリ、CPU、ディスク、負荷平均、ネットワークインターフェース情報とメトリック、プロセステーブル情報、ルート情報などを取得できます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ASP.NETでコンピューターのCPU、メモリ、およびディスクの使用状況を監視するにはどうすればよいですか?

分類Dev

コンピュータのCPUとメモリの使用量をリモートで取得するにはどうすればよいですか?

分類Dev

ネットワークでインターネットの使用状況を監視するにはどうすればよいですか?

分類Dev

ファイルのコピーと貼り付けについてディレクトリを監視するにはどうすればよいですか?

分類Dev

コンピュータのRAM使用量を常に監視するにはどうすればよいですか?

分類Dev

.NET TaskSchedulers(AppDomain全体)のタスクキューを監視するにはどうすればよいですか?

分類Dev

以下の状況でスプリングブートJPAモデルクラスを設計するにはどうすればよいですか?

分類Dev

debootstrap(chroot)ディレクトリを別のコンピュータにコピーするにはどうすればよいですか?

分類Dev

PowerShell を使用して複数のコンピューターの RAM / メモリの詳細を取得するにはどうすればよいですか?

分類Dev

Python psutilで関数が呼び出されたときにCPUの使用状況を監視するにはどうすればよいですか?

分類Dev

個々のプロセスではなく、アプリケーションのCPU使用率を監視するにはどうすればよいですか?

分類Dev

ルーターのデータ使用量を監視するにはどうすればよいですか?

分類Dev

WMI / CimSessionを使用してリモートコンピューターのWindowsサービスを停止するにはどうすればよいですか?

分類Dev

Javaで他のコンピュータプロセスの状態にアクセスするにはどうすればよいですか?

分類Dev

Androidのバックグラウンドでアプリによるセンサーの使用状況を監視するにはどうすればよいですか?

分類Dev

JavaコンポーネントをEclipseジョブに統合するにはどうすればよいですか(進行状況の監視あり)?

分類Dev

LUbuntuのポートが他のコンピューターによってスキャンまたは接続されているかどうかを監視、記録、および確認するにはどうすればよいですか?

分類Dev

コンピュータの過去のメモリ使用量を保存するにはどうすればよいですか?

分類Dev

Androidでこの状況でリストビューコンテンツを変更するにはどうすればよいですか?

分類Dev

AWSでコストと使用状況データの時間単位の粒度を有効にするにはどうすればよいですか?

分類Dev

この状況で Javascript セレクターを使用するにはどうすればよいですか?

分類Dev

デュアルモニターディスプレイの1台のモニターでYoutubeをフルスクリーンで視聴するにはどうすればよいですか?

分類Dev

この状況でpreg_replaceパターンを使用するにはどうすればよいですか?

分類Dev

Macでリソースの使用状況を追跡するにはどうすればよいですか?

分類Dev

特定のアプリケーションのネットワーク帯域幅の使用状況を監視するにはどうすればよいですか?

分類Dev

AngularFireデータベースの監視/サブスクリプションから退会するにはどうすればよいですか?

分類Dev

Antを使用したFTPタスクで複数のサブディレクトリをコピーするにはどうすればよいですか?

分類Dev

コンピューターのメーカーとモデルを確認するにはどうすればよいですか?

分類Dev

Linuxで、システムコールまたはシェルコマンドを使用して、ファイル/ディレクトリの変更を監視するにはどうすればよいですか?

Related 関連記事

  1. 1

    ASP.NETでコンピューターのCPU、メモリ、およびディスクの使用状況を監視するにはどうすればよいですか?

  2. 2

    コンピュータのCPUとメモリの使用量をリモートで取得するにはどうすればよいですか?

  3. 3

    ネットワークでインターネットの使用状況を監視するにはどうすればよいですか?

  4. 4

    ファイルのコピーと貼り付けについてディレクトリを監視するにはどうすればよいですか?

  5. 5

    コンピュータのRAM使用量を常に監視するにはどうすればよいですか?

  6. 6

    .NET TaskSchedulers(AppDomain全体)のタスクキューを監視するにはどうすればよいですか?

  7. 7

    以下の状況でスプリングブートJPAモデルクラスを設計するにはどうすればよいですか?

  8. 8

    debootstrap(chroot)ディレクトリを別のコンピュータにコピーするにはどうすればよいですか?

  9. 9

    PowerShell を使用して複数のコンピューターの RAM / メモリの詳細を取得するにはどうすればよいですか?

  10. 10

    Python psutilで関数が呼び出されたときにCPUの使用状況を監視するにはどうすればよいですか?

  11. 11

    個々のプロセスではなく、アプリケーションのCPU使用率を監視するにはどうすればよいですか?

  12. 12

    ルーターのデータ使用量を監視するにはどうすればよいですか?

  13. 13

    WMI / CimSessionを使用してリモートコンピューターのWindowsサービスを停止するにはどうすればよいですか?

  14. 14

    Javaで他のコンピュータプロセスの状態にアクセスするにはどうすればよいですか?

  15. 15

    Androidのバックグラウンドでアプリによるセンサーの使用状況を監視するにはどうすればよいですか?

  16. 16

    JavaコンポーネントをEclipseジョブに統合するにはどうすればよいですか(進行状況の監視あり)?

  17. 17

    LUbuntuのポートが他のコンピューターによってスキャンまたは接続されているかどうかを監視、記録、および確認するにはどうすればよいですか?

  18. 18

    コンピュータの過去のメモリ使用量を保存するにはどうすればよいですか?

  19. 19

    Androidでこの状況でリストビューコンテンツを変更するにはどうすればよいですか?

  20. 20

    AWSでコストと使用状況データの時間単位の粒度を有効にするにはどうすればよいですか?

  21. 21

    この状況で Javascript セレクターを使用するにはどうすればよいですか?

  22. 22

    デュアルモニターディスプレイの1台のモニターでYoutubeをフルスクリーンで視聴するにはどうすればよいですか?

  23. 23

    この状況でpreg_replaceパターンを使用するにはどうすればよいですか?

  24. 24

    Macでリソースの使用状況を追跡するにはどうすればよいですか?

  25. 25

    特定のアプリケーションのネットワーク帯域幅の使用状況を監視するにはどうすればよいですか?

  26. 26

    AngularFireデータベースの監視/サブスクリプションから退会するにはどうすればよいですか?

  27. 27

    Antを使用したFTPタスクで複数のサブディレクトリをコピーするにはどうすればよいですか?

  28. 28

    コンピューターのメーカーとモデルを確認するにはどうすればよいですか?

  29. 29

    Linuxで、システムコールまたはシェルコマンドを使用して、ファイル/ディレクトリの変更を監視するにはどうすればよいですか?

ホットタグ

アーカイブ