SORU
25 AĞUSTOS 2008, PAZARTESİ


OS düzeyinde sistem bilgi alın

Şu anda birçok farklı platformlarda çalıştırmak olmuyor olabilir bir Java uygulaması inşa ediyorum, ama öncelikle Solaris, Linux ve Windows türevleri.

Herkes başarılı bir şekilde mevcut kullanılan disk alanı gibi bilgiler elde etmek mümkün olmuştur, kullanımı ve bellek, temel işletim sistemi kullanılan CPU? Ne Java uygulaması kendisi sadece alıcı mı?

Tercihen JNI kullanmadan bu bilgi almak istiyorum.

CEVAP
25 AĞUSTOS 2008, PAZARTESİ


Zamanı sınıfından bazı sınırlı bellek bilgi alabilirsiniz. Gerçekten sizin için ne arıyorsanız tam olarak değil, ama bütünlüğü uğruna bunu sağlamak istedim. İşte küçük bir örnek. Edit: ayrıca java disk kullanımını bilgi alabilirsiniz.ıo.Sınıf dosyası. Disk alanı kullanımını şeyler Java 1.6 veya daha yüksek gerektirir.

public class Main {
  public static void main(String[] args) {
    /* Total number of processors or cores available to the JVM */
    System.out.println("Available processors (cores): "   
        Runtime.getRuntime().availableProcessors());

    /* Total amount of free memory available to the JVM */
    System.out.println("Free memory (bytes): "   
        Runtime.getRuntime().freeMemory());

    /* This will return Long.MAX_VALUE if there is no preset limit */
    long maxMemory = Runtime.getRuntime().maxMemory();
    /* Maximum amount of memory the JVM will attempt to use */
    System.out.println("Maximum memory (bytes): "   
        (maxMemory == Long.MAX_VALUE ? "no limit" : maxMemory));

    /* Total memory currently available to the JVM */
    System.out.println("Total memory available to JVM (bytes): "   
        Runtime.getRuntime().totalMemory());

    /* Get a list of all filesystem roots on this system */
    File[] roots = File.listRoots();

    /* For each filesystem root, print some info */
    for (File root : roots) {
      System.out.println("File system root: "   root.getAbsolutePath());
      System.out.println("Total space (bytes): "   root.getTotalSpace());
      System.out.println("Free space (bytes): "   root.getFreeSpace());
      System.out.println("Usable space (bytes): "   root.getUsableSpace());
    }
  }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ecf150king

    ecf150king

    20 Ocak 2006
  • Matt Stokes

    Matt Stokes

    22 Ocak 2008
  • tinycammonitor

    tinycammonit

    14 Aralık 2010