1. A method of managing resource usage by one or more resource entities, wherein each resource entity is configured to consume one or more resources, the method comprising: determining whether a resource has reached a critical level; when it is determined that a resource has reached a critical level, selecting a first resource entity based on one or more criteria; and when it is determined that a resource has reached a critical level, requesting the selected resource entity to change its resource consumption state to a more restrictive state.