Articles

는 방법을 캐는 리눅스에서

리눅스 파일 시스템 캐시(페이지를 캐쉬)를 사용하여 만들 IO 작업이 더 빠르다. 특정 상황에서 관리자 또는 개발자가 캐시를 수동으로 지우려고 할 수 있습니다. 이 기사에서는 Linux 파일 시스템 캐시가 어떻게 작동하는지 설명합니다. 그런 다음 캐시 사용량을 모니터링하는 방법과 캐시를 지우는 방법을 보여줍니다. 우리는 몇 가지 간단한 성능을 확인하는 실험을 실 캐시가 예상대로 작동하는 캐시 내뿜고 명확한 절차도 예상대로 작동합니다.

는 방법 리눅스 파일 시스템 캐시 작품

커널이 보유 일정 금액의 시스템 메모리 캐싱 파일 시스템을 디스크에 액세스하기 위해서 전체적인 성능이 더 빠르다. 리눅스의 캐시를 페이지 캐시라고합니다. 페이지 캐시의 크기는 많은 양의 디스크 블록을 캐시 할 수 있도록 관대 한 기본값으로 구성 할 수 있습니다. 캐시의 최대 크기와 캐시에서 데이터를 제거 할 때의 정책은 커널 매개 변수로 조정 가능합니다. 리눅스 캐시 접근 방식은 쓰기 백 캐시라고합니다. 즉,데이터가 디스크에 기록되면 캐시로 메모리에 기록되고 디스크에 동기화 될 때까지 캐시에서 더티로 표시됩니다. 커널은 내부 데이터 구조를 유지하여 캐시에 더 많은 공간이 필요할 때 캐시에서 퇴거 할 데이터를 최적화합니다.

중 Linux 읽 시스템 호출은 커널을 것입니다 경우 확인이 요구하는 데이터가 저장되는 데이터의 블록에서는 성공적인 캐시 치고는 데이터가 반환됩 캐시에서 하지 않고 어떤 IO 에서는 디스크 시스템입니다. 에 대한 캐시 데이터를 가져온 것입니다에서 IO 시스템과 캐시 업데이트에 기반한 캐시 정책이 동일한 데이터가 요청될 가능성이 다시합니다.

경우 특정 임계값의 메모리 사용량에 도달하는 작업을 시작할 것이 쓰러 디스크에 데이터를 보장하기 위해 제거하고 메모리 캐시입니다. 이들은 메모리 및 CPU 집약적 인 응용 프로그램의 성능에 영향을 미칠 수 있으며 관리자 및 또는 개발자의 조정이 필요합니다.

무료로 사용하는 명령을 보려면 캐쉬 사용량

우리가 사용할 수 있는 무료 명령 명령행에서 분석하기 위해 시스템 메모리와 금액의 할당되는 메모리 캐싱이 가능합니다. 참조 아래의 명령:

#무료 m

우리가 무엇을 보고에서 무료는 위의 명령이 있다는 것입 7.5GB RAM 에서 이 시스템입니다. 이 중 209MB 만 사용되며 6.5MB 는 무료입니다. 667MB 는 버퍼 캐시에 사용됩니다. 이제 1 기가 바이트의 파일을 생성하는 명령을 실행하고 파일을 읽음으로써 그 수를 늘리려고합시다. 아래 명령은 약 100MB 의 임의의 데이터를 생성 한 다음 10 개의 파일 사본을 하나의 large_file 에 추가합니다.

#dd if=/dev/random 의=/root/data_file count=1400000
#에 대한 내에`seq1 10`하십시오;echo$i;cat data_file>>large_file; 완

이제 우리는 이것을 읽을 수 있는지 확인 하십시오 1 기 파일에 다음 명령을 다시 무료:

#cat large_file>/dev/null
#무료 m

우리는 볼 수 있습니다 buffer 캐시 사용되었에서 667 1735Mb 약 1 기가바이트이 증가에서의 사용 buffer cache.

Proc Sys VM 드롭 캐시 명령

리눅스 커널 인터페이스를 제공해 드롭 캐시 해보자는 이러한 명령을 참조에 미치는 영향을 무료로 설정합니다.

#echo1>/proc/sys/vm/drop_caches
#무료 m

우리는 볼 수 있습니다 위에 있는 대부분의 버퍼 캐시 할당 해제했으로 이 명령입니다.

드롭 캐시가 작동하는 실험적 검증

캐시를 사용하여 파일을 읽는 성능 검증을 할 수 있습니까? 디스크에서 파일을 읽는 데 걸리는 시간을 테스트하기 위해 파일을 읽고/dev/null 에 다시 써 보겠습니다. 우리는 시간 명령으로 시간을 정할 것입니다. 위의 명령으로 캐시를 지운 직후에이 명령을 수행합니다.

파일을 읽는 데 8.4 초가 걸렸습니다. 이제 파일이 파일 시스템 캐시에 있어야한다는 것을 다시 읽고 지금 얼마나 오래 걸리는지 봅시다.나는 이것이 어떻게 작동하는지 잘 모르겠습니다. 그것은 단지했다.파일이 캐시되지 않았을 때 그것을 읽는 8.4 초와 비교하여 2 초. 확인하려면 먼저 캐시를 지운 다음 파일을 2 번 읽음으로써이를 다시 반복합시다.

그것은 완벽하게 작동으로 예상된다. 8.캐시되지 않은 읽기 및 5 초.캐시 된 읽기에 대해 2 초입니다.

결론

페이지가 캐시에 자동으로 사용 가능 리눅스 시스템에이고 투명하게 만드 IO 빠르게 저장하여 최근에 사용되는 데이터 캐시입니다. 하려는 경우는 수동으로 캐시 할 수 있는 쉽게 전송하여 에코 명령을은/proc 파일시스템에 나타내는 커널을 드롭 캐시고 무료로 사용하는 메모리 캐시. 이 지침에 대한 명령을 실행하였음 위에 이 문서 및 실험적 유효성 검사의 캐시 동작 전 세척 후에도 표시됩니다.