소개
이 문서에서는 Cisco 5G SA 애플리케이션에서 show resources CLI의 출력을 이해하는 방법에 대해 설명합니다.
운영 방식
show resources CLI는 클러스터의 모든 포드(주로 프로토콜 및 서비스 포드)에 대한 리소스 정보를 나열합니다. 리소스 정보는 각 Pod에서 주기적으로 수집되어 CLI에 표시됩니다.
샘플 출력:
[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
출력에 대한 설명
POD 인스턴스 |
Pod 이름 |
CPU 사용량 CPU |
Pod의 CPU 사용량 |
총 노드 메모리(MB) |
Pod가 실행되는 작업자 노드의 총 메모리 |
사용된 포드 메모리(MB) |
Pod에 사용된 메모리 |
디스크 사용량(KBPS) |
디스크 I/O 속도(Kbps) |
GO 루틴 수 |
이동 루틴 수 |
GC 수 |
가비지 수집 루틴 수 |
NS에서 GC 일시 중지 |
NanoSeconds에서 가비지 수집 루틴 일시 중지 |
Go proglamming 언어에 대한 추가 설명
Go Routine은 Go 프로그래밍 언어의 "스레드"입니다. 더 나은 성능 등과 같은 어떤 용도로 사용됩니다. 문제가 되는 시나리오에서 Go 루틴 누수가 제대로 완료되지 않은 곳에서 나타나고 새로운 Go 루틴이 계속 생성되는 것을 볼 수 있습니다. 고 루틴 누수의 영향은 메모리 누수와 비슷합니다. 이는 show resources 출력에서 GO ROUTINE COUNT를 확인하여 식별할 수 있습니다. 만약 극적인 또는 지속적인 증가가 관찰된다면, Go Routine의 누수가 발생할 가능성이 있습니다.
가비지 수집은 메모리 관리 기능 내장 Go입니다. 메모리 사용량을 저장하는 데 더 이상 사용되지 않는 객체를 지속적으로 실행하고 정리합니다. GC COUNT 및 GC PAUSE IN NS를 사용하여 가비지 수집이 아무런 문제 없이 작동하는지 모니터링할 수 있습니다. 예를 들어 특정 Pod에 대한 GC 카운트가 너무 많거나 GC 일시 중지가 너무 길면 문제가 발생할 수 있습니다.