Introduction
This document describes how to understand the output of show resources CLI on Cisco 5G SA application.
How it works
The show resources CLI lists resource information for all pods(mainly protocol and service pods) in the cluster. The resource information is collected periodically from each pods and presented to the CLI.
Sample output:
[unknown] smf# show resources
TOTAL USED DISK
NODE POD USAGE GO GC
CPU MEMORY MEMORY IN ROUTINES GC PAUSE
POD INSTANCE USAGE IN MB IN MB KBPS COUNT COUNT IN NS
-----------------------------------------------------------------------
cache-pod-1 2 32011 85 0 172 29684 85
cache-pod-2 2 32011 83 0 172 29627 83
gtpc-ep-0 2 32011 70 0 69 29088 70
li-ep-0 5 32011 51 0 56 29095 51
oam-pod-1 2 32011 98 0 157 29095 98
smf-nodemgr-0 7 32011 94 0 213 29096 94
smf-protocol-0 3 32011 135 0 206 29092 135
smf-rest-ep-0 4 32011 125 0 203 29091 125
smf-service-0 3 32011 321 0 247 34958 321
smf-udp-proxy-0 1 32011 82 0 88 29083 82
Description of the output
POD INSTANCE |
Pod name |
CPU USAGE CPU |
CPU usage of the pod |
TOTAL NODE MEMORY IN MB |
Total Memory of worker node where the pod runs |
USED POD MEMORY IN MB |
Memory used by pod |
DISK USAGE IN KBPS |
Disk I/O rate in Kbps |
GO ROUTINES COUNT |
Number of Go Routine |
GC COUNT |
Garbage Collection Routine Count |
GC PAUSE IN NS |
Garbage Collection Routine Pause in NanoSeconds |
Additional explanation for Go proglamming language
Go Routine is kind of "thread" in Go programming language. It is used for some purpose such as better performance and so on. In a problematic scenario, Go routine leak can be seen where Go Routines are not properly finished and new Go Routines keep creating. The impact of Go Routine leak is similar to memory leak. This can be identiied by looking at GO ROUTINES COUNT in show resources output. If dramatic or constant increase is observed then there is potential of Go Routine leak.
Garbage Collection is a memory management function built-in Go. It runs continuously and clean up objects which is no longer used to save memory usage. GC COUNT and GC PAUSE IN NS can be used to monitor if Garbage Collection works without any issue. For example, too many GC count for specific pod or too long GC pause can indicate some issue.