1. A computer-implemented method, comprising: receiving, in a user memory space, kernel resource information from a kernel executing in a kernel memory space, the kernel resource information identifying one or more kernel items in the kernel memory space that depend on kernel resources; maintaining, in the user memory space, a plurality of resource management policies, wherein each resource management policy includes one or more rules on when to modify kernel items in the kernel memory space, wherein modifying kernel items includes changing kernel items in the kernel memory space or removing kernel items from the kernel memory space; analyzing, in the user memory space, a pattern of resource usage; selecting, in the user memory space and based on the pattern of resource usage, a first resource management policy from among the plurality of resource management policies; selecting a kernel item to be modified according to the selected first resource management policy in order to release some or all of the kernel resources; and communicating a request to the kernel to modify the selected kernel item.