1. A system for reducing overheads in multiple applications processing the system comprising at least one processor and at least one memory, wherein the processor is adapted to: identify resources interacting with each of the applications from a set of applications; and group the applications from the set of applications, resulting in at least one application cluster, in response to the identified resources; assign an agent corresponding to each of the identified resources, wherein the identified resource is at least one selected from the group consisting of: a database object, a set of statements, a set of queries, database metadata, and a database; initialize the agent corresponding to each of the identified resources: identifying parameters associated with the identified resources, wherein the parameters are selected from a pre-defined set consisting of: a statement heap, an index heap, queries, and a query heap; and cluster the applications using the identified parameters.