1. A method for managing memory shared by a plurality of processes, the method comprising: receiving, by a first thread of a first one of the plurality of processes, a request from a second thread of a second one of the plurality of processes, wherein the request indicates that memory usage of the first process should be reduced and wherein the request is received directly from the second thread; in response to receiving the request, determining, by the first thread, whether the memory usage of the first process can be reduced; and in the event that the memory usage of the first process can be reduced: reducing, by the first process, the memory usage of the first process; and sending, by the first thread, a confirmation to the second thread that the memory usage of the first process has been reduced, wherein the confirmation is sent directly to the second thread.