public void run() {
			this.setName("CacheAdjuster");
			logger.info("Starting cache adjuster...");
			while(!stop){
				try {
					Thread.sleep(OBSERVATION_INTERVAL_MS);
					
					SpaceUtilizationStats spaceStats = new SpaceUtilizationStats(environment);
					if (spaceStats.getTotalFiles() < MIN_LOG_FILES)
						continue;
					EnvironmentStats stats = getEnvStats(false); 
					logger.info("Cache Adjuster Probe: "+ "Current Util:"+ String.format("%.2f", spaceStats.getUtilization())
							    +", CleanerBacklog:"+stats.getCleanerBacklog());
					if (((UTIL_PCT - spaceStats.getUtilization()) >= UTILIZATION_DELTA) && stats.getCleanerBacklog() > CLEANER_BACKLOG_THRESHOLD){
						EnvironmentMutableConfig mConfig = environment.getMutableConfig();
						long currentCacheInBytes = mConfig.getCacheSize();
						if (currentCacheInBytes >= MAX_MEMORY_BYTES)
							continue;
						
						logger.info("Cache Adjuster Probe: Current Cache Size(MB):"+ (currentCacheInBytes/(1024*1024))
								+ " adding "+ CACHE_UNIT_BYTES);
						
						mConfig.setCacheSize(currentCacheInBytes + CACHE_UNIT_BYTES);
						environment.setMutableConfig(mConfig);
					}
				}catch (InterruptedException ie){
					return;
				}
				catch (Exception e){
					logger.error("Error in adjuster", e);
				}
			}
		}