본문 바로가기

erlang Garbage collection 저번 포스팅에서 말했듯, Erlang은 기본적으로 JVM과 다른 garbage Collection을 갖고 있습니다. Erlang의 Garbage Collection은 process당 GC를 수행합니다. 그래서 JVM과 같은 Application에 대한 Stop the world 현상이 없습니다. 그리고, Soft realtime을 보장합니다. 먼저, erlang garbage collection을 보기 전에, 먼저 erlang process의 memory 구조를 알아 봅시다. 1. Erlang Process 메모리 구조 출처 : https://hamidreza-s.github.io/erlang%20garbage%20collection%20memory%20layout%20soft%20realtime/201.. 더보기
Kurento Media Server Core Library Compile 뭐... 어려운 것은 아니지만, 혹시나 하는 마음에 적어봅니다.Kurento Media Server는 github에 가면 컴파일 방법이 매우 쉽고 자세하게 나와있습니다.https://github.com/Kurento/kurento-media-server#compilation-instructions위에 들어가시면 자세히 나옵니다. 그러나, Kurento Media Server Core Library는 나오지 않는데, 기본적으로 Kurento Media Server와 방법이 같습니다.다운 받은 Source의 Directory에서 다음과 같이 실행합니다. $ echo "deb http://ubuntu.kurento.org trusty-dev kms6" | sudo tee /etc/apt/sources.list.. 더보기
erlang CrashDump Viewer & CrashDump 추출 erlang에거 CrashDump는 매우 중요한 역할을 합니다. 지금 어떠한 프로세스가 많인 메모리를 차지하는지, 메일박스는 얼마나 차있는지, Actor구조는 어떻게 되어 있는지, 매우 중요한 요소중에 하나가 됩니다. 그러나, Crash Dump는 erlang VM이 Crash가 되었을 때 나타는 거라, 불편하기도 합니다. 그런데 이번에 회사 선배님께 알게된 좋은 팁이 있어서 공유 합니다. kill보통 "kill -9 {PID}"로 프로그램을 강제 종료할 때 쓰는 Linux에서 kill은 프로그램에 signal을 날려주는 역할을 합니다. 여기에 User Signal이 있는데, 만약 프로그램이 User Signal을 정의 해 두었으면 그것에 대한 콜백을 받아 동작합니다. 여기서 erlang은 User Si.. 더보기