0

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
  • This memory is not added to the free list, but it should be available for allocation, the same as free. Why do you think it's not being used?
    – harrymc
    Commented Aug 31, 2021 at 20:05
  • Windows manages memory just fine without dking with System Internals tools (which are the coolest thing ever). You are this worried about memory consumption an yet you run the total garbage Razer Synapse stuff? I myself would re-evaluate what is important on my machine.. I mean no offense BTW.. I can see that it might be taken this way.. I just want you to think. Yes, I have a black widow pro keyboard and had to hack to get the CRAP driver bloat to not load. Commented Aug 31, 2021 at 21:28
  • @SeñorCMasMas nah don't worry about my masochism. I ripped that crap outta my system long ago. I wrote about it just as an anecdote. It made my system literally unusable with 99% memory usage only made of "unused" memory that my system couldn't use, thus crashing it. Commented Aug 31, 2021 at 22:04
  • Nice! Thanks for filling me in. :) Commented Sep 1, 2021 at 17:25

1 Answer 1

0

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
  • The thing is, if it's usable why does the task manager tell me that a 60% of the memory is used (although that's what the horizontal graph shows, we can see a half of it is unused)? Here is where the Razer Synapse anecdote comes to the fore. That program filled my memory with a huge "zeroed unused" fragment making my system crash continuously because windows couldn't use any of my 32GB for other processes. Commented Aug 31, 2021 at 22:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .