0

サーバーの現在の負荷を教えてくれる Java ライブラリが必要なので、検索したところ、SIGARが現在コミュニティで最もよく知られており、受け入れられていることがわかりました。

私はLinux Mint 64ビットを運用システムとして使用しています(これはUbuntuのわずかな変更です)。このようなライブラリを使用するのは初めてなので、Eclipseを使用してゼロから新しいプロジェクトを作成し、次のようにしてSIGARをインストールすることにしました:

  1. ZIPファイルをダウンロードして解凍します
  2. 新しい Java プロジェクトに「libs」というフォルダーを作成します
  3. Sigar.jar および libsigar-amd64-linux.so ファイルを「libs」フォルダーにコピーします。
  4. プロジェクトを右クリック -> プロパティ -> Java ビルド パス -> ライブラリ -> 外部 JAR を追加 -> Sigar.jar を追加
  5. 指を交差させてプロジェクトを実行する

ただし、プロジェクトを実行すると、次のエラーが発生します。

/media/data/Users/pedro/SIGAR/libs/libsigar-amd64-linux.so: /media/data/Users/pedro/SIGAR/libs/libsigar-amd64-linux.so: failed to map segment from shared object: Operation not permitted
org.hyperic.sigar.SigarException: /media/data/Users/pedro/SIGAR/libs/libsigar-amd64-linux.so: /media/data/Users/pedro/SIGAR/libs/libsigar-amd64-linux.so: failed to map segment from shared object: Operation not permitted
    at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:172)
    at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:100)
    at examples.Shell.<init>(Shell.java:50)
    at examples.SigarCommandBase.<init>(SigarCommandBase.java:75)
    at examples.CpuInfo.<init>(CpuInfo.java:36)
    at examples.CpuInfo.main(CpuInfo.java:97)
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.hyperic.sigar.Sigar.getCpuInfoList()[Lorg/hyperic/sigar/CpuInfo;
    at org.hyperic.sigar.Sigar.getCpuInfoList(Native Method)
    at examples.CpuInfo.output(CpuInfo.java:60)
    at examples.SigarCommandBase.processCommand(SigarCommandBase.java:186)
    at examples.CpuInfo.main(CpuInfo.java:97)

インターネットを調べたところ、Operation not permitted通常、書き込み権限または読み取り権限がない場合にエラーが発生しますが、そうではありません。

したがって、いくつか質問があります。

  1. インストールを台無しにしましたか?
  2. はいの場合、どのようにすればよいですか?また、誰かが初心者向けのチュートリアルを教えてもらえますか?
  3. そうでない場合、どうすればエラーを修正できますか? すでに Eclipse をルートとして実行しようとしましたが、うまくいきませんでした。

時間をありがとう、ペドロ。

4

0 に答える 0