top 명령에서“캐시”란 무엇입니까?


45

실행 top하면 다음을 얻습니다.

top - 09:10:52 up 18:37,  1 user,  load average: 1.56, 1.33, 1.15
Tasks:  39 total,   1 running,  38 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.6%sy,  1.0%ni, 92.5%id,  5.8%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   4194304k total,  3045460k used,  1148844k free,        0k buffers
Swap:        0k total,        0k used,        0k free,  2256128k cached

2256128k 캐시? 정확히 무엇을 의미합니까?

두 공급자의 두 VPS를 비교하고 있는데,이 공급자에는 항상 많은 양이 있고 (사용 된 메모리의 70 %) 다른 VPS 공급자는 항상 0을 표시합니다.

답변:


15

캐시 전의 숫자는 파일 시스템의 캐시 버퍼에서 사용중인 실제 메모리의 양입니다.

"Swap :"행에도 불구하고 실제로 SWAP과 관련 이 없습니다 .

약간의 실험으로 내 대답을 확인하려면 다음을 시도하십시오.

top을 실행하고 'cached'값을 기록하십시오. 이제 실행

dd if=/dev/zero of=~/trick bs=1M count=128

다시 실행하면 '캐시'가 128M 증가했습니다.

이제 파일을 제거하십시오

rm ~/trick

다시 실행하면 '캐시'가 128M 감소했습니다.

Mem의 경우 :

total = used + free

used = <all apps> + buffers + cached

버퍼는 기본적으로 캐시 된 메타 데이터 입니다. UI가 약간 혼동됩니다.


어떻게 든 영향을 줄 수 있습니다. 예를 들어 제한하거나 완전히 비활성화 할 수 있습니까?
KKK

2
왜 그렇게 하시겠습니까?! 당신은 무엇을해야합니까?! phyiscal 메모리에서 파일 시스템 캐시 방법에 대한 정보입니다.

대부분의 파일 시스템은 DB이므로 DB에는 자체 캐시가 있으므로이 부분을 어떻게 든 제한하는 것이 좋습니다.
KKK

당신은 약간의 검색으로 그것을 할 수 있지만 나는 당신에게 조언하지 않습니다. 이것은 FS의 성능을 제한 할 것입니다

116

Linux 커널은 실행중인 프로그램에서 필요하지 않은 경우 디스크 캐싱에 사용 가능한 메모리를 사용합니다.

이것은 좋은 것으로 간주됩니다. RAM이 4GB이고 프로그램이 1GB 만 사용한다고 가정하십시오. 다른 3GB는 낭비됩니다. 메모리의 25 % 만 사용하고 있다는 사실을 알게 된 "좋은 느낌"의 인상에도 불구하고 다른 75 %는 사용되지 않습니다. 커널은 파일 캐싱에이를 사용하여 성능을 크게 향상시킵니다. 자동입니다. 이전 운영 체제와 달리 디스크 캐시에 할당 할 양을 결정하거나 수동으로 구성 할 필요가 없습니다.

"리눅스 디스크 캐시는 눈에 거슬리지 않습니다. 여분의 메모리를 사용하여 디스크 액세스 속도를 크게 높이고 응용 프로그램에서 메모리를 제거하지 않습니다. Linux에서 완전히 사용 된 램 저장소는 경고 표시가 아닌 효율적인 하드웨어 사용입니다."

이것은 전체 웹 사이트에 대한 일반적인 질문입니다.

http://www.linuxatemyram.com

웹 사이트에는 디스크 캐시를 비울 수있는 방법이 있으므로 일부 응용 프로그램을 실행하고 캐시가 활성화 된 상태에서 얼마나 빠른지 확인할 수 있습니다. :)


4
답을 좋아하지만 평판이 부족하여 업그레이드 할 수는 없습니다 (아직). 죄송합니다.
KKK

4
걱정하지 마세요. 기꺼이 도와 드리겠습니다. 정보가 도움이 되길 바랍니다!
roadmr

이 답변이 허용되어야합니다. 아. . . :(
ankush981

반드시 대답이 맞아야합니다. linuxatemyram은 훌륭한 정보입니다!
rafaelbattesti
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.