Velvet Star Monitor

Standout celebrity highlights with iconic style.

news

RamMap empties Standby Lists but doesn't free them

Writer Emily Wong

My problem is: when I use RamMap to empty some standby memory, it gets emptied and zeroed, but the freed memory isn't added to the Free memory counter afterwards. Instead, it keeps contributing to the occupied percent of RAM as unused.

Here you have a screenshot to illustrate my problem. This image was taken right after an "Empty Standby lists" order.

enter image description here

I've already suffered this unused memory phenomenon due to some memory leaks with Razer Synapse, and AFAIK it won't be available to other processes tough it claims itself to be unused. How would you make this freed memory completely available to other processes?

4

1 Answer

Everything looks good.

There are 2 free memory lists. There are the Free and Free Zero lists. When memory first becomes free it goes to the Free list but this is only temporary. The kernel has a low priority thread that zeroes free memory and then places it on the Free Zero List. Typically there will be very little memory on the Free List.

Memory is zeroed for security reasons. Processes cannot be allowed to see memory that had previously used by another process until it is first cleared. Free Zero memory is thus immediately available for assignment to any process for any purpose. Memory on the Free list can only be immediately used for code blocks which will be overwritten before a process can see it. If memory on the Free list must be used the kernel will first have to zero it and that takes time.

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy