This isn't true for OS like Windows where the kernel is informed that the memory is discardable and it can prioritize discarding that memory as necessary. It's a shame that Linux doesn't have something similar.
MADV_FREE (since Linux 4.5)
The application no longer requires the pages in the range
specified by addr and size. The kernel can thus free these
pages, but the freeing could be delayed until memory
pressure occurs.
and
MADV_DONTNEED
Do not expect access in the near future. (For the time
being, the application is finished with the given range, so
the kernel can free resources associated with it.)
After a successful MADV_DONTNEED operation, the semantics
of memory access in the specified region are changed:
subsequent accesses of pages in the range will succeed, but
will result in either repopulating the memory contents from
the up-to-date contents of the underlying mapped file (for
shared file mappings, shared anonymous mappings, and shmem-
based techniques such as System V shared memory segments)
or zero-fill-on-demand pages for anonymous private
mappings.
This isn't true for OS like Windows where the kernel is informed that the memory is discardable and it can prioritize discarding that memory as necessary. It's a shame that Linux doesn't have something similar.
Linux supports it too through madvise():
and Does Chrome use it, though?