캐쉬 메모리를 주기적으로 지워서 메모리 확보하기 > server

본문 바로가기
사이트 내 전체검색

server

캐쉬 메모리를 주기적으로 지워서 메모리 확보하기

페이지 정보

작성자 서방님 댓글 0건 조회 211회 작성일 18-04-06 17:00

본문

출처 : https://blog.lael.be/post/1090


게임서버는 웹이나 DB서버보다 자원을 많이 필요로 하기에 모니터링과 튜닝을 잘해야 한다.

1. CPU 사용량

게임서버는 일반적으로 사람의 활동 시간과 일치하는 경향이 있다.

또한 주말마다(불금 ~ 일요일) 접속자가 늘어나므로 CPU 상태를 잘 보아야한다.

CPU 사용량이 150%를 넘어서면 간헐적인 렉 현상이 일어난다.

> 해결책 : 게임의 속성을 잘 조절해서 부하량을 낮추어야 한다. 또는 코어를 왕창 할당하면 됨.

스크린샷 2015-04-02 오전 12.44.19

 

2. 메모리 사용량

CPU 만큼 중요한게 메모리이다.

CPU 가 느리면 렉이 걸리지만…  메모리가 부족하게 되면 게임서버가 다운된다.

접속자가 없을 때 게임서버가 자동 재부팅되도록 설정해 두었지만.. 메모리 사용량이 순 증가 하는 현상이 발생하더라.

tar 압축 같은 Disk I/O 할 때 캐쉬메모리가 대폭 증가하는 것을 알 수 있다.

프로그램을 끄면 USER 메모리는 해제가 되는데 캐쉬 메모리는 자동해제가 되지 않는다.

그래서 캐쉬메모리의 크기는 커지기만 한다.

이 공간을 주기적으로 초기화 해서 메모리를 확보해보도록 하자.

 

스크린샷 2015-04-02 오전 1.26.44

 

스크린샷 2015-04-02 오전 1.27.10

* 사용한 메모리(2351MB) = 유저 프로그램 메모리(1.96GB=2007MB) + 캐쉬 메모리(330 MB)

 

캐쉬 메모리를 지워보자.

#sync && echo 3 > /proc/sys/vm/drop_caches

스크린샷 2015-04-02 오전 1.32.54

 

캐쉬메모리가 비워지고 전체적인 메모리 사용량이 줄어든 것을 볼 수 있다.

스크린샷 2015-04-02 오전 1.34.57

 

매 시간마다 캐쉬메모리를 지우도록 설정

#crontab -e
0 * * * * sync && echo 3 > /proc/sys/vm/drop_caches

스크린샷 2015-04-02 오전 1.36.20

 

 

서버 호스트 PC를 한달동안 재부팅 안해도 메모리 공간이 원활하게 유지된다.

 

주의 사항

캐시메모리는 속도가 다른 장치간의 속도 개선을 위해 사용된다. 특히 디스크 I/O의 경우.

디스크 I/O 가 활발히 일어나는 시스템에서 drop_caches 를 사용하면, 일시적으로 CPU 부하량이 크게 증가한다. (다운될 정도는 아니다)

이런 경우 drop_caches 를 아예 사용하지 않거나, 사람이 접속하지 않는 시간대에 실행하도록 하자.

 

drop_caches 는 non destructive operation 이기 때문에 자주써도 데이터 손실이 발생하지 않는다.

캐쉬 메모리중에 write buffer 라는 파일 쓰기 대기 버퍼(dirty cache 라고도 함)가 있는데, 이러한 것들은 drop_cache 로 사라지지 않는다.

sync 명령어는 이러한 write buffer 내용을 디스크에 쓰고 drop 할 수 있는 cache 로 바꾼다.

즉, sync 후에 drop_caches 를 하면 최대한 많은 메모리가 확보되는 것이다.

As this is a non-destructive operation, and dirty objects are not freeable, the user should run “sync” first in order to make sure all cached objects are freed.

 

* 매일 새벽 4시에 캐시메모리를 비우는 방법. (저는 아래와 같이 사용합니다.)

#crontab -e
0 4 * * * sync && echo 3 > /proc/sys/vm/drop_caches

 

댓글목록

등록된 댓글이 없습니다.

회원로그인

접속자집계

오늘
91
어제
84
최대
1,347
전체
154,462
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.