[steem] 풀노드 구축하기 메모리

in SCT.암호화폐.Crypto4 years ago (edited)

이전 글 : [steem] 풀노드 구축하기 기초지식 편

음... 매번 full node set ( steemd + jussi + hivemind ) 밤마다 재설치 이거 몇 회차인지 ㅜㅜ ( 그래서 이젠 꼼수가 생겨 정말 빠르게 설정중 크 ... )


풀노드를 구성함에 있어 GCP 를 사용하고 있습니다. 서버의 SPEC = 돈 이기 때문에 SPEC 의 적절함을 잘 찾는 것이 중요합니다.

제가 사용하고 있는 E2 instance 는 최초 서버의 SPEC 을 결정하면 이후 변경 할 수 없습니다 ... ( 물론 중간중간 교체 가능한 다른 카테고리도 있는데 그런 것은 말 안해도 아시겠지만 좀 더 비싸죠 크 ... )

그래서 full node 의 memory 를 최초 16 GB로 했습니다. 위 경우 steemd + jussi 조합으로 돌리면 잘 돌아 가는데 hivemind 를 추가하는 순간 memory 가 바닥 나게 됩니다 ㅜㅜ 그래서 32 GB 설정으로 다시 시작 했는데 그것도 안됨

메모리 사용량은 순간 적으로 급증합니다. 그 순간이 언제냐 하면 블록을 동기화 하는 과정에서 발생됩니다. 한번에 여러 커넥션을 맺어 한번에 비동기 처리를 하는 과정에서 부하가 발생되는 것으로 추정 합니다.

그래서 swap 메모리를 사용하기로 결심했습니다.
( 현재 물리 32GB + SWAP 64GB 로 설정 후 작업 진행 중

메모리 사용량 확인

$ free -m

swap 메모리 늘리기

아래에서 swapfile 은 임의로 지정한 파일명이고, 원하시는대로 바꿔도 됩니다.


# 64GB 할당
$ sudo fallocate -l 64GB /swapfile 

# 권한 부여 
$ sudo chmod 600 /swapfile

# swap 만들기
$ sudo mkswap /swapfile

# swap 활성화
$ sudo swapon /swapfile
``

추가로 /etc/fstab 에 등록하여 재기동시에도 mount 되도록 처리 하셔도 됩니다.

```sh
$ sudo vi /etc/fstab

# <filesystem> <mount point> <type> <options> <dump> <pass>
swapfile none swap sw 0 0

메모리가 부족하면 생기는 일

순차적으로 프로그램을 kill 합니다. ;; 그럼 어떻게 될까요 ... 네 모든 것이 안되게 됩니다. 심지어 원격 접속도 ;;

참조 TOP

메모리 사용처 참조용 / 진심 hivemind 메모리 엄청 씀 ㅜㅜ

hive : hivemind
postgres : hivemind 
python3.6 : hivemind 돌릴때 rpc 호출

steemd 

redis-server : jussi
nginx : jussi 

맺음말

메모리는 그래서 적절한 량을 확보하는 것이 중요합니다. 평소 최대 사용량 기준 메모리의 125% 이상 으로 물리 메모리를 설정 하는 것이 좋다 합니다. ( 평소 모니터링을 통해 적정선 확보 ) 그리고 한시적으로 메모리를 많이 사용해야 된다면 ( 보통은 source build 또는 멀티 커넥션 처리(크롤링) 등의 작업에 많은 메모리를 소모함 ) swap memory 를 사용하는 것도 대안 이라 생각 됩니다.

Sort:  

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

@wonsama transfered 2 KRWP to @krwp.burn. voting percent : 63.62%, voting power : 17.32%, steem power : 1953652.33, STU KRW : 1200.
@wonsama staking status : 1793.429 KRWP
@wonsama limit for KRWP voting service : 1.793 KRWP (rate : 0.001)
What you sent : 2 KRWP
Refund balance : 0.207 KRWP [63274205 - 36155790bc5cbd01ea87da9cebd6def105f673c6]

Coin Marketplace

STEEM 0.04
TRX 0.32
JST 0.081
BTC 61409.26
ETH 1609.40
USDT 1.00
SBD 0.47