Klaytn Endpoint Node 프로세스 죽음 (out of memory)

안녕하세요.
Klaytn Endpoint Node 를 사용하고있습니다.
최근 메모리 점유가 점차적으로 증가하여 Out of Memory 로 프로세스가 죽는 현상이 발생하고 있습니다.
이에 CPU : 8C->16C , RAM : 32G → 64G 로 증설하였으나 동일한 현상이 발생하고 있습니다.
다른 PC 에서 caver-js 을 통해서 RPC 로 새로운 블록 데이터를 조회하는 정도를 사용하고 있습니다.

버전
Klaytn : 1.7.1
carver-js : 1.6.1

해당 현상의 원인이 파악이 가능할까요?

아래는 현재 사용하고 있는 config 값입니다.


# Configuration file for the kend

# cypress, baobab is only available if you don't specify NETWORK_ID.
NETWORK="cypress"
# if you specify NETWORK_ID, a private network is created.
NETWORK_ID=

PORT=32323

SERVER_TYPE="fasthttp"
SYNCMODE="full"
VERBOSITY=3
MAXCONNECTIONS=10
LDBCACHESIZE=10240

# txpool options setting
TXPOOL_EXEC_SLOTS_ALL=4096
TXPOOL_NONEXEC_SLOTS_ALL=4096
TXPOOL_EXEC_SLOTS_ACCOUNT=4096
TXPOOL_NONEXEC_SLOTS_ACCOUNT=4096
#TXPOOL_LIFE_TIME="30m"
TXPOOL_LIFE_TIME="10m"


# rpc options setting
RPC_ENABLE=1 # if this is set, the following options will be used
RPC_API="klay" # available apis: admin,debug,klay,miner,net,personal,rpc,txpool,web3
RPC_PORT=8551
RPC_ADDR="0.0.0.0"
RPC_CORSDOMAIN="*"
RPC_VHOSTS="*"

# ws options setting
#WS_ENABLE=1 # if this is set, the following options will be used
WS_ENABLE=0
WS_API="klay" # available apis: admin,debug,klay,miner,net,personal,rpc,txpool,web3
WS_ADDR="0.0.0.0"
WS_PORT=8552
WS_ORIGINS="*"

# service chain options setting
SC_MAIN_BRIDGE=0 # if this is set, the following options will be used.
SC_MAIN_BRIDGE_PORT=50505
SC_MAIN_BRIDGE_INDEXING=0  # this option will be deprecated.

# Setting 1 is to enable options, otherwise disabled.
AUTO_RESTART=0
#METRICS=1
#PROMETHEUS=1
METRICS=0
PROMETHEUS=0
DB_NO_PARALLEL_WRITE=0
MULTICHANNEL=1
SUBPORT=$((PORT + 1)) # used for multi channel option

# discover options
NO_DISCOVER=0 # setting 1 to disable discovery
BOOTNODES=""

# Raw options e.g) "--txpool.nolocals"
ADDITIONAL=""

DATA_DIR=/core/ken/data
LOG_DIR=/core/ken/logs

아래는 Out of memory 로 프로세스가 죽은 로그입니다.

Dec 15 02:45:25 servername kernel: [275557.585169] Out of memory: Kill process 10523 (ken) score 950 or sacrifice child
Dec 15 02:45:25 servername kernel: [275557.588795] Killed process 10523 (ken) total-vm:69200812kB, anon-rss:62502444kB, file-rss:0kB, shmem-rss:0kB
Dec 15 02:45:34 servername kernel: [275566.193478] oom_reaper: reaped process 10523 (ken), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
1 Like

안녕하세요. 클레이튼 포럼에 글을 남겨주셔서 감사합니다.
EN의 메모리 사용 제한을 위해 다음과 같은 옵션을 추가해보시고 추이를 지켜봤으면 합니다.

  1. ADDITIONAL="--sendertxhashindexing --state.tries-in-memory 50" 이후 재시작
  2. 변경후 재시작 했는데도 OOM이 발생할 경우 ADDITIONAL에 --state.trie-cache-limit 10240 추가

1,2 번 차례대로 수행하신 후 결과 공유 부탁드립니다! 감사합니다.

1 Like

안녕하세요.
답변 감사드립니다.

추가적으로 히스토리를 파악도중 물리서버에서 VM 으로 옮기면서 CPU 성능이 낮은것으로 확인했습니다.
이에 따라 성능 좋은 물리서버로 재구축하여 정상적으로 동작 확인됩니다.

차후에도 OOM 발생시 해당 옵션을 적용하여 해보겠습니다.
감사합니다!

1 Like