FIX #61 fixed issues with dmesg being rotated
This commit is contained in:
@@ -80,11 +80,33 @@ public class FreeBSD extends OS {
|
||||
}
|
||||
}
|
||||
b.close();
|
||||
return ret;
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (ret.haveData() == false) {
|
||||
Log.getInstance(null).debug("OS::FreeBSD::getCPU failed to get CPU from dmesg, using partia sysctl");
|
||||
ret.setModel("0");
|
||||
ret.setFamily("0");
|
||||
try {
|
||||
Runtime run = Runtime.getRuntime();
|
||||
Process sysctl = run.exec("sysctl -n hw.model");
|
||||
BufferedReader buf = new BufferedReader(new InputStreamReader(sysctl.getInputStream()));
|
||||
String name = "";
|
||||
|
||||
name = buf.readLine();
|
||||
buf.close();
|
||||
if (name == "") {
|
||||
ret.setName("0");
|
||||
}
|
||||
else {
|
||||
ret.setName(name);
|
||||
}
|
||||
}
|
||||
catch (IOException e) {
|
||||
Log.getInstance(null).debug("OS::FreeBSD::getCPU exception " + e);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -92,23 +114,20 @@ public class FreeBSD extends OS {
|
||||
public int getMemory() {
|
||||
try {
|
||||
Runtime r = Runtime.getRuntime();
|
||||
Process p = r.exec("dmesg");
|
||||
Process p = r.exec("sysctl -n hw.usermem");
|
||||
BufferedReader b = new BufferedReader(new InputStreamReader(p.getInputStream()));
|
||||
String line = "";
|
||||
|
||||
while ((line = b.readLine()) != null) {
|
||||
if (line.startsWith("avail memory")) {
|
||||
String buf[] = line.split(" ");
|
||||
if (buf.length > 4) {
|
||||
Long mem_byte = Long.parseLong(buf[3].trim());
|
||||
line = b.readLine();
|
||||
b.close();
|
||||
if (line.isEmpty()) {
|
||||
return 0;
|
||||
}
|
||||
Long mem_byte = Long.parseLong(line.trim());
|
||||
return (int) (mem_byte / Long.valueOf(1024));
|
||||
}
|
||||
}
|
||||
}
|
||||
b.close();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
catch (IOException e) {
|
||||
Log.getInstance(null).debug("OS::FreeBSD::getMemory exception " + e);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user