private static void getVmStats(LocalStatisticsImpl stats) {
    assert hasProcVmStat : "getVmStats called when hasVmStat was false";
    try (FileInputStream fileInputStream = new FileInputStream("/proc/vmstat");
        InputStreamReader isr = new InputStreamReader(fileInputStream);
        BufferedReader br = new BufferedReader(isr)) {
      String line;
      while ((line = br.readLine()) != null) {
        if (line.startsWith(PGPGIN)) {
          stats.setLong(LinuxSystemStats.pagesPagedInLONG,
              SpaceTokenizer.parseAsLong(line.substring(PGPGIN.length())));
        } else if (line.startsWith(PGPGOUT)) {
          stats.setLong(LinuxSystemStats.pagesPagedOutLONG,
              SpaceTokenizer.parseAsLong(line.substring(PGPGOUT.length())));
        } else if (line.startsWith(PSWPIN)) {
          stats.setLong(LinuxSystemStats.pagesSwappedInLONG,
              SpaceTokenizer.parseAsLong(line.substring(PSWPIN.length())));
        } else if (line.startsWith(PSWPOUT)) {
          stats.setLong(LinuxSystemStats.pagesSwappedOutLONG,
              SpaceTokenizer.parseAsLong(line.substring(PSWPOUT.length())));
        }
      }
    } catch (NoSuchElementException | IOException ignore) {
    }
  }
Returns the available system memory (free + cached).

@param logger the logger
@return the available memory in bytes
geode-core/src/main/java/org/apache/geode/internal/statistics/platform/LinuxProcFsStatistics.java