private long[] getMemCacheConfig(String expireKey, String maxCapKey, String maxCapRateKey, long defExpireMinute, float defRate) {
        long expireMinute = Long.parseLong(System.getProperty(expireKey, String.valueOf(defExpireMinute)));
        if (expireMinute < 5) {
            expireMinute = 5;
        }
        long expireMS = expireMinute * 60 * 1000;
        String maxCapStr = System.getProperty(maxCapKey);
        long maxCap;
        if (maxCapStr != null) {
            maxCap = Long.parseLong(maxCapStr) << 20; // 1 m = 1024 * 1024 b
        } else {
            float maxCacheRate = Float.parseFloat(System.getProperty(maxCapRateKey, String.valueOf(defRate)));
            maxCap = (long) (maxCacheRate * MemoryUtil.getTotalPhysicalMemorySize());
        }
        return new long[]{expireMS, maxCap};
    }
The path where realtime segments declare.
<pre>
    .../rt/table/tableA/host0/seg0_0 ... segN_0
    .../rt/table/tableA/host1/seg0_1 ... segN_1
</pre>
indexr-server/src/main/java/io/indexr/server/IndexRConfig.java