code: private void readMbean() {
  		if (clazz == null) {
  			return;
  		}
  		try {
  			if (isUnixOS) {
  				long openFiles = getValue("OpenFileDescriptorCount");
  				long maxOpenFiles = getValue("MaxFileDescriptorCount");
  
  				long freePhysicalMemorySize = getValue("FreePhysicalMemorySize");
  				long totalPhysicalMemorySize = getValue("TotalPhysicalMemorySize");
  
  				long processTime = getValue("ProcessCpuTime");
  
  				double processCPULoad = getDoubleValue("ProcessCpuLoad");
  				double systemCPULoad = getDoubleValue("SystemCpuLoad");
  
  				long processors = getValue("AvailableProcessors");
  
  				stats.update((int) openFiles, (int) maxOpenFiles, freePhysicalMemorySize, totalPhysicalMemorySize, processTime, (int) processors, processCPULoad, systemCPULoad);
  
  			} else if (isWindowsOS) {
  				long processors = getValue("AvailableProcessors");
  				double systemCPULoad = readWindowsCPULoad();
  
  				long totalPhysicalMemorySize = readWindowsTotalMemory();
  				long freePhysicalMemorySize = readWindowsFreeMemory();
  
  				stats.update(-1, -1, freePhysicalMemorySize, totalPhysicalMemorySize, -1, (int) processors, -1, systemCPULoad);
  
  			} else {
  				long processors = getValue("AvailableProcessors");
  
  				stats.update(-1, -1, -1, -1, -1, (int) processors, -1, -1);
  			}
  
  		} catch (Exception e) {
  			log.warn("Couldn't read value due to", e);
  		}
  	}
docs: Reads the management bean and extracts monitored data on regular base.