1. A computer-implemented method for managing memory, the computer-implemented method comprising: monitoring memory usage while running a plurality of applications and each individual application of the plurality of the applications comprised of a plurality of active threads; receiving a notice of a shortage of real memory while running the plurality of applications; establishing a global hierarchy of thread classifications for the plurality of active threads of the each individual application and a default thread classification for any process not classified by an application running on a computer; responsive to receiving the notice, comparing, for each active thread of the plurality of applications, a thread classification of the plurality of active threads to the global hierarchy of thread classifications, wherein the global hierarchy of thread classifications defines a relative importance of each thread classification based on a classification of a process currently being performed by each active thread of the each individual application, an identification of a user performing the process and process executables, to identify a selected thread to affect, wherein the classification of the process is determined by the each individual application comprising the active threads; determining an action to take for the selected thread to form a determined action; and performing the determined action for the selected thread.