aitorit0, November 20, 2017 - 9:52 am UTC
In my case (work with solaris servers) ZFS protocol (used in local disks) try to eat all free memory and release it when database or another process need it.
So I ask it to an Oracle engineers in a SR:
QUESTION: This is our production server for production database. We would like to know what's will happen if we arrive to 0 MB of free MB, and ZFS need to free memory allocated... Can we have performance problems on database?
ANSWER:
Your system will likely never reach 0 MB of free MB, as it will free parts of the ZFS ARC much earlier.
If there is a high demand for RAM in a very short amount of time, however, there might be a memory shortage.
In this situation, your applications/databases will run much slower than usually, affecting your business.
So it is important that you know the expected maximum amount of memory usage by applications and set user_reserve_hint_pct accordingly, taking into account some headroom.
Of course, as per document 1663862.1, it is also important to have enough memory for kernel and ZFS ARC.
That's why user_reserve_hint_pct should normally not be set to more than 80 (Percent).
November 21, 2017 - 1:23 pm UTC
If you have allocated "n" gigabytes of RAM to the Oracle instance, then you should assume that it may consume that much.
If you have concerns about *anything* external to that (ZFS, OS, etc) then you would adjust "n" downwards accordingly.