If sooracleConfiguration of large memory, restartoracleExamples can be found inalterWatch in the alarm log to see if instances use large memory, but whether there are other ways to determine whether a process uses large memory. Here’s howoracleAn example is given to show how to know from the system side whether the process uses large memory.

For example, Oracle SGA is configured as 200G:

SQL> show parameter sga
sga_target                           big integer 200G

System Configuration Large Memory:

% cat /etc/sysctl.conf 
vm.nr_hugepages                       = 110080 
vm.hugetlb_shm_group                  = 5001

Current large memory usage:(110080-7166)*2/1024=201G

% grep HugePages_ /proc/meminfo 
HugePages_Total:   110080
HugePages_Free:     7166
HugePages_Rsvd:        0
HugePages_Surp:        0

The system has the following database, and the process is as follows:

% ps -ef|grep pmon_
grid     111896      1  0 Jan14 ?        00:00:34 asm_pmon_+ASM1
oracle   114732      1  0 Jan14 ?        00:00:54 ora_pmon_db1
grid     248262      1  0 Jan14 ?        00:00:18 mdb_pmon_-MGMTDB

Then, we can use the following commands or the large memory used by the process:

# The db1 instance uses 200G large memory:
% grep -B 11 'KernelPageSize:     2048 kB' /proc/114732/smaps \
  | grep "^Size:" | awk 'BEGIN{sum=0}{sum+=$2}END{print "gb: "sum/1024/1024}'
gb: 200.002

# The MGMTDB instance uses 1G large memory:
% grep -B 11 'KernelPageSize:     2048 kB' /proc/248262/smaps \
  | grep "^Size:" | awk 'BEGIN{sum=0}{sum+=$2}END{print "gb: "sum/1024/1024}'
gb: 1.00195