메모리 2

쿠버네티스 cpu, memory 관리하기 (feat. 사용량 확인, limit, 리소스 모니터링)

pod가 실행되기 위해서는 cpu, memory 가 필요하며, 이는 pod가 실행되는 node의 리소스를 사용한다. 쿠버네티스는 각 pod가 얼만큼의 리소스(cpu, memory)가 필요한지에 따라, 실행될 node를 적절히 선택한다. 따라서 각 pod가 필요한 리소스를 적절하게 설정해줘야 효율적으로 node의 리소스를 활용할 수 있다. 여기서는 이처럼 pod가 필요한 리소스를 설정하고, 현재 사용되고 있는 리소스를 관리, 모니터링 할 수 있는 방법을 알아본다. 1. Pod가 필요한 cpu, 메모리 (Requests, Limits) pod의 spec.containers[].resources 에 아래와 같은 4개 정보를 설정해야 한다. requests와 limits 이라는 항목이 있으며, 각각 cpu, m..

IT/Kubernetes 2022.01.16

Tail Recursion(꼬리 재귀)란?

재귀함수 사용시 주의점재귀함수를 공부할때 항상 나오는 단점이 "stack memory" 가 많이 필요하다는 말이다.재귀함수란 A함수 안에서 A함수를 다시 부르는건데,A함수가 종료되지 않은 상태에서 A함수를 한번더 부르기 때문에, 종료되지 않은 함수들이 계속해서 stack에 쌓여간다.따라서 재귀호출이 너무 많이되면 stack memory가 overflow 될 수 있다.이렇게 stack memory를 과다사용하는 재귀호출의 문제점을 피하기 위한 방법이 바로 Tail Recursion(꼬리재귀)이다. Tail Recursion(꼬리 재귀)란?아래 예를 보자 (1~n 까지의 합을 구하는 일반적인 재귀함수다)r_sum 이라는 함수 내부에서 자기자신(r_sum)을 호출한다."r + r_sum()" 으로 되어 있기 ..

IT/Programming 2021.01.11
반응형