Skip to content

Commit 5ec8ade

Browse files
committed
use /prod/stat to get uptime instead of the uptime command
1 parent 0cbebbd commit 5ec8ade

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

server/src/main/java/com/cloud/server/StatsCollector.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -937,12 +937,12 @@ private void getProcFileSystemData(@NotNull ManagementServerHostStatsEntry newEn
937937
logger.info(String.format("used memory from /proc: %d", newEntry.getSystemMemoryUsed()));
938938
}
939939
try {
940-
String bootTime = Script.runSimpleBashScript("uptime -s");
940+
String bootTime = Script.runSimpleBashScript("date -d @$(grep btime /proc/stat | awk '{print $2}') '+%Y-%m-%d %H:%M:%S'");
941941
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss", Locale.ENGLISH);
942942
Date date = formatter.parse(bootTime);
943943
newEntry.setSystemBootTime(date);
944944
} catch (ParseException e) {
945-
logger.error("can not retrieve system uptime");
945+
logger.error("can not retrieve system uptime", e);
946946
}
947947
String maxuse = Script.runSimpleBashScript(String.format("ps -o vsz= %d", newEntry.getPid()));
948948
newEntry.setSystemMemoryVirtualSize(Long.parseLong(maxuse) * 1024);

0 commit comments

Comments
 (0)