Est-il possible en Java d'identifier la vitesse totale du processeur disponible ainsi que la mémoire totale du système? La vitesse de connexion au réseau sur le Web serait également impressionnante.Détecter la vitesse du processeur/mémoire/vitesse Internet en utilisant Java?
Répondre
Cela dépend vraiment de votre système d'exploitation, puisque Java vous dira peu sur la machine sous-jacente. Malheureusement, vous devez utiliser différentes approches en fonction de votre système d'exploitation.
Si vous utilisez Linux, consultez le système de fichiers /proc/cpuinfo
pour obtenir des informations sur le processeur. /proc
a généralement une mine d'informations. Le réseau (IO) sera reflété via la commande ifconfig
.
Si vous utilisez Windows, un outil utile est le WMI, qui permet d'accéder à toutes sortes de statistiques de bas niveau. Vous pouvez exécuter des scripts WMI via CScript. Here's a page of examples des scripts WMI.
Les statistiques de mémoire sont disponibles à partir de l'objet Runtime. Et jetez un oeil à une jconsole, un client graphique qui présente des informations sur une machine virtuelle Java compatible JMX. Il montre beaucoup d'informations, y compris l'utilisation du processeur, de sorte que vous pouvez écrire votre propre client qui accède à l'information JMX aussi.
Ouais, il semble que Java est très protecteur sur la façon dont les applications peuvent interagir avec le matériel. Les statistiques de mémoire que j'ai vu de l'objet Runtime sont juste ce que la VM va prendre, pas le montant total disponible –
Peut-être SIGAR peut fournir certaines des choses dont vous avez besoin.
Properties p = System.getProperties();
p.list(System.out);
System.out.print("Total CPU:");
System.out.println(Runtime.getRuntime().availableProcessors());
System.out.println("Max Memory:" + Runtime.getRuntime().maxMemory() + "\n" + "available Memory:" + Runtime.getRuntime().freeMemory());
System.out.println("os.name=" + System.getProperty("os.name"));
essayer ci-dessus
'java testtest.java:3: ne peut pas trouver le symbole symbole: classe Propriétés \t Propriétés p = System.getProperties() ; ' – Tim
Salut dr, désolé, j'aurais dû être plus précis, je voulais dire Java la langue de l'application pas JavaScript –
Mais merci! C'était ce que je cherchais;) –