Fix a bug in DataUnit that enters infinite loop when negative value is passed
Update resource info upon ResourceMonitor initialization