@SuppressWarnings("JavaTimeDefaultTimeZone")
    public static Map<String, Object> getSystemInfo() {
        val properties = System.getProperties();

        val info = new LinkedHashMap<String, Object>();

        FunctionUtils.doIfNotNull(CasVersion.getVersion(), t -> info.put("CAS Version", t));
        info.put("CAS Branch", StringUtils.defaultIfBlank(GIT_PROPERTIES.getBranch(), "master"));
        FunctionUtils.doIfNotNull(GIT_PROPERTIES.getCommitId(), t -> info.put("CAS Commit Id", t));
        FunctionUtils.doIfNotNull(CasVersion.getDateTime(), t -> info.put("CAS Build Date/Time", t));

        info.put("Spring Boot Version", SpringBootVersion.getVersion());
        info.put("Spring Version", SpringVersion.getVersion());

        FunctionUtils.doIfNotNull(properties.get("java.home"), t -> info.put("Java Home", t));
        info.put("Java Vendor", properties.get("java.vendor"));
        info.put("Java Version", properties.get("java.version"));
        info.put("Servlet Version", HttpServlet.class.getPackage().getImplementationVersion());

        val runtime = Runtime.getRuntime();
        info.put("JVM Free Memory", FileUtils.byteCountToDisplaySize(runtime.freeMemory()));
        info.put("JVM Maximum Memory", FileUtils.byteCountToDisplaySize(runtime.maxMemory()));
        info.put("JVM Total Memory", FileUtils.byteCountToDisplaySize(runtime.totalMemory()));
                               
        info.put("OS Architecture", properties.get("os.arch"));
        info.put("OS Name", properties.get("os.name"));
        info.put("OS Version", properties.get("os.version"));
        info.put("OS Date/Time", LocalDateTime.now(ZoneId.systemDefault()));
        info.put("OS Timezone", Clock.systemDefaultZone().toString());
        info.put("OS Temp Directory", FileUtils.getTempDirectoryPath());

        return info;
    }
Gets system info.

@return the system info
core/cas-server-core-util-api/src/main/java/org/apereo/cas/util/SystemUtils.java