How high is the memory usage of the SnapCenter Linux Plug-in on the host ?
Applies to
- SnapCenter Plug-in for Oracle (SCO) 4.x
- SnapCenter Plug-in for SAP HANA (SCHANA) 4.x
- SnapCenter Plug-in for Creator (SCC) 4.x
Answer
Most of the memory used by the Plug-in processes is pre-allocated for the heapspace of each of the three java processes,
which is given through the -Xmx parameter to java. For example, the output of "
sudo ps aux | grep snap
":USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 970 0.1 1.9 3012216 75220 ? Sl 11:17 0:20 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre/bin/java -Xms128m -Xmx512m -XX:MaxPermSize=256m -XX:ParallelGCThreads=2 -classpath /opt/NetApp/snapcenter/scc/lib/scAgent-2.0-core.jar:/opt/NetApp/snapcenter/scc/lib/common-2.0.jar com.netapp.snapcreator.agent.nextgen.watchdog.external.ExternalWatchdogStarter start
root 1700 0.2 9.9 3645364 386312 ? Sl 11:18 0:29 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre/bin/java -Xms128m -Xmx1024m -XX:MaxPermSize=256m -XX:ParallelGCThreads=2 -DINSTALL_PATH=/opt/NetApp/snapcenter/scc -classpath /opt/NetApp/snapcenter/scc/lib/scAgent-2.0-core.jar:/opt/NetApp/snapcenter/scc/etc:/opt/NetApp/snapcenter/scc/lib/* com.netapp.snapcreator.agent.nextgen.Starter start
root 2168 0.5 42.8 4777912 1663820 ? Sl 11:18 1:04 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre/bin/java -Xms256m -Xmx2G -XX:MaxMetaspaceSize=256m -XX:OnOutOfMemoryError=restart_plugin_loader_services.sh -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=2 -jar spl-main-4.4.jar start -classpath (...)
The VSZ column represents virtual memory size and includes for example, libraries that may be read from disk.
Linux utilizes on-demand paging, which only loads pages into memory once the application makes an attempt to use them.
The memory (RAM) usage when running that command on the system is the value shown in the RSS column.
The value for RSS, on the other hand includes shared memory as well, which means actual usage is likely even lower on average between certain processes.
The value for RSS, on the other hand includes shared memory as well, which means actual usage is likely even lower on average between certain processes.
The
pmap
command separates the usage amongst the processes and files that could be used as well.Depending on the pmap version the end output would summarize, for example, where the second total is the RSS (in-memory) value and the extra output even shows shared memory:
Total: 6728544K 1958244K 1945274K 1936032K 180K 0K
2056532K writable-private, 4666328K readonly-private, 5684K shared, and 1958244K referenced
Note: The default heapspace seetings are 2GiB for the SPL service (main access point on port 8145, includes SCU and SCO functionality), 1GiB for the SCC service which handles both SCHANA and SCC Creator plug-ins, and 512MiB for the SCC Watchdog process, for a maximum heapspace usage of 3.5GiB of RAM.
To find the highest memory using processes, usage of memory of all processes can be viewed in percentages, and sorted with the largest on top with:
ps -o pid,user,%mem,command ax | sort -n -k3
Additional Information
It is possible to reduce the memory usage somewhat, depending on what Plug-in is used:
- For SCC, the settings for heapspace usage and other memory parameters are kept in the
agent_memory.properties
located in/var/opt/snapcenter/scc/etc
- For the SPL they are defined in the scripts
spl
andspld
located in/opt/NetApp/snapcenter/spl/bin
.
- When neither SCHANA nor an SCC Creator plug-in is used, it's possible to remove the SCC Services and Watchdog completely by using
/opt/NetApp/snapcenter/bin/uninstallServiceLinux
- Without Oracle usage, on the other hand, the SPL's heapspace could be reduced from 2G to 1G, but it needs to remain running to provide access to the SCC.