Contents

Introduction

How it works

Description of the output

Additional explanation for Go proglamming language

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.