Why only ~half of RAM is used by Oracle on Linux server?
Normally we allocate about half of the systems memory for shared_pool and database buffers, preferably mapped on huge pages. AMM is not compatible with huge pages so when a dba is working with the system he would disable that and manage the memory manually. Define a minimum size for the database buffers and also for the shared pool.
The rest of the memory is available for processing things like sorts and merges.
Maybe the workload of your system is low and could do with a smaller footprint. I also noticed this is a RAC system. RAC likes to have some free memory.
So as a rule of thumb your system is setup pretty much default and could be adjusted to better suit your workload. The exact sizing depends on the usage of the shared_pool and how much caching your need to give a usable performance. At a certain point performance is not improved by giving more memory.