1. A method comprising: sending, by an application executed by a processing device, a first request to an operating system to provide a hardware device with direct memory access to contents of a virtual memory location in an application memory of the application, wherein the virtual memory location is mapped to a physical memory location; monitoring, by the application, a total amount of virtual memory in the application memory of the application that is allocated to pending zero-copy requests; determining, by the application, whether the virtual memory location is to be reclaimed by the application in view of the total amount of virtual memory in the application memory of the application that is allocated to the pending zero-copy requests; in response to determining that the virtual memory location is to be reclaimed, sending, by the application, a second request to the operating system to unmap the physical memory location from the virtual memory location, the second request causing the virtual memory location to be mapped to a new physical memory location; and responsive to receiving an indication from the operating system that the second request to unmap the physical memory location has completed, accessing the new physical memory location mapped to the virtual memory location.