Je cherche un moyen pour recuperer les infos system (CPU, charge CPU, mémoire libre,....) en java , apres une recherche sur la toile rien d'interesssant tout les solutions passe par C avec JNI.
merci
Je cherche un moyen pour recuperer les infos system (CPU, charge CPU, mémoire libre,....) en java , apres une recherche sur la toile rien d'interesssant tout les solutions passe par C avec JNI.
merci
tu peux pas en java pures t obligé de passer par du jni
essaie de voir si une classe n'a pas déja été faite![]()
voici la solution :
.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 import java.io.*; public class InfoSys{ public static void main(String [] args){ String r="ERREUR"; try { LineNumberReader lnr=new LineNumberReader (new FileReader("/proc/meminfo")); long total=0,free=0; while((total==0)||(free==0)) { String s=lnr.readLine(); if(s==null) break; else if(s.startsWith("MemTotal:")) { s=s.substring(10,s.length()-2).trim(); total=Long.valueOf(s).longValue(); } else if(s.startsWith("MemFree:")) { s=s.substring(10,s.length()-2).trim(); free=Long.valueOf(s).longValue(); } } lnr.close(); r=(100l*(total-free)/total)+"%"; System.out.println("Free Memory:"+free+" Ko"); System.out.println("Total Memory:"+total+" Ko"); System.out.println(r+" of Memory is used"); } catch(Exception ex) {System.out.println("An error occured when reading Memory statut "+ex);} //*************************************************************************** try { LineNumberReader lnr=new LineNumberReader (new FileReader("/proc/cpuinfo")); long cpu=0; while(cpu==0) { String s=lnr.readLine(); if(s==null) break; else if(s.startsWith("cpu MHz")) { //System.out.println(s+"\n"); int pos=s.indexOf(':'); s=s.substring(pos+1); //System.out.println("["+s+"]\n"); // s=s.substring(10,s.length()-2).trim(); double cpu_speed=Double.valueOf(s).longValue(); System.out.println("CPU speed: "+cpu_speed); // System.out.println("["+cpu_speed+"].......NOT CPU....\n"); } } lnr.close(); } catch(Exception ex) {System.out.println("An error occured when reading Cpu statut "+ex);} //*************************************************************************** } }
Je suis désolé mais je suis nouveau ici.
Partager