공유할 서비스 선택

QnA


QnA

OS 버퍼 캐시를 메모리로 복구시키는 방법 문의

페이지 정보

작성자 LeeHyongDong 아이디로 검색 전체게시물 댓글 1건 조회 2,580회 좋아요 0회 작성일 20-08-24 14:43

본문

서버를 유지하던중 메모리를 버퍼 캐시로 잡아 free메모리가 부족합니다.

 

버퍼캐시를 리붓없이 free메모리로 전환 하는 방법과 버퍼 캐시의 크기 제한하는 방법이 있을까요? 

댓글목록

LeeHyongDong님의 댓글

LeeHyongDong 작성일

리눅스 커널은 기본적으로 메모리가 유휴 상태(free)로 있는 것을 선호하지 않습니다. 즉 할당되지 않은 메모리는 커널이 사용하고 가능한 캐시로 사용합니다.

캐시메모리는 2종류로 나뉘며 page cache와 inode, dentry cache로 구분 됩니다.

page cache : 물리적인 저장/통신 장치와 데이터를 주고받는데 나중에 동일한 데이터에 접근할 경우 메모리에서 바로 가져오도록 하여 I/O 성능을 높이는 캐시입니다.

inode, dentry cache : 파일의 자료구조로 보다 빠른 데이터 접근을 위한 cache며 dentry는 경로명 탐색을 위한 cache도 수행합니다.

free메모리가 부족한경우 명령어를 입력해 버퍼 캐시를 삭제할 수 있습니다.
sync를 하지않고 캐시를 삭제할경우 프로그램을 강제종료한것처럼 데이터가 유실될수 있습니다.

pagecache 비우기
sync
echo 1 > /proc/sys/vm/drop_caches
혹은
sync
sysctl -w vm.drop_caches=1
 
dentries, inodes 비우기
sync
echo 2 > /proc/sys/vm/drop_caches
혹은
sync
sysctl -w vm.drop_caches=2
 
pagecache, dentries, inodes 모두 비우기
sync
echo 3 > /proc/sys/vm/drop_caches
혹은
sysctl -w vm.drop_caches=3

vfs_cache_pressure를 이용해 캐시메모리를 반환하도록 할 수 있습니다.
sysctl -a | grep vm.vfs_cache_pressure 를 통해 현재 값을 확인할 수 있으며 100이 기본값입니다.
100이상의 값으로 설정하게되면 캐시메모리를 free메모리로 반환하게 할 수 있습니다.

sysctl -w vm.vfs_cache_pressure=1000
이후 영구 설정을 위해 /etc/sysctl.conf파일에 추가
echo “vm.vfs_cache_pressure=1000” >> /etc/sysctl.conf

감사합니다.

QnA - 미답변글 총 건전체보기 >

  • 게시물이 없습니다.
QnA - 미답변글 더보기
QnA 목록
답변 제목 작성자 작성일 조회수
1 OS LeeHyongDong 아이디로 검색 전체게시물 05-13 1357
리눅스 한글 설정

카테고리 : OS

1
1,357 1
작성자 : LeeHyongDong 22/05/13
1 OS LeeHyongDong 아이디로 검색 전체게시물 12-08 1964
클러스터 서비스에 작업하는데 fenceing됩니다

카테고리 : OS

1
1,964 1
작성자 : LeeHyongDong 20/12/08
1 OS LeeHyongDong 아이디로 검색 전체게시물 11-04 4168
polkitd이 CPU를 많이 사용중입니다.

카테고리 : OS

1
4,168 1
작성자 : LeeHyongDong 20/11/04
1 OS LeeHyongDong 아이디로 검색 전체게시물 08-24 2581
열람중
버퍼 캐시를 메모리로 복구시키는 방법 문의

카테고리 : OS

1
2,581 1
작성자 : LeeHyongDong 20/08/24
1 OS LeeHyongDong 아이디로 검색 전체게시물 07-02 1839
필요한 패키지 어디서 받나요?

카테고리 : OS

1
1,839 1
작성자 : LeeHyongDong 20/07/02
1 OS LeeHyongDong 아이디로 검색 전체게시물 06-22 1453
HA cluster resource 수정

카테고리 : OS

1
1,453 1
작성자 : LeeHyongDong 20/06/22
Total 6건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 www.chlux.co.kr All rights reserved.
상단으로Top