실제 메모리 사용량


15

올바르게 이해하면 무료로 생성 된 다음 출력에서 ​​3535m이 응용 프로그램에서 사용할 수있는 실제 사용 가능한 메모리이며 413m 만 사용됩니다. 맞습니까? Mem과-/ + buffers / cache 행의 차이점에 대한 설명이 필요합니다.

무료 -m
             캐시 된 총 사용 가능한 공유 버퍼
멤 : 3949 3854 95 9 3431
-/ + 버퍼 / 캐시 : 413 3535
스왑 : 2047 1322725

답변:


16

Mem: total그림은 응용 프로그램에서 사용할 수있는 RAM의 총량이다. 이것은 시스템에 설치된 총 RAM을 뺀 값입니다.

  • 하드웨어 장치에 의해 예약 된 메모리 (그래픽 카드에 자체 RAM이없는 경우 비디오 메모리);
  • 커널 자체가 사용하는 메모리.

그 총계에는 다음이 포함됩니다.

  • free: 현재 어떤 목적으로 사용되는 메모리;
  • shared: 더 이상 존재하지 않는 개념. 이전 버전과의 호환성을 위해 출력에 남아 있습니다 (의 출력을 구문 분석하는 스크립트가 있습니다 free). (현재 시스템 에서는 공유 메모리 메커니즘을 통해 명시 적으로 공유되는 메모리를 표시하기 shared위해 용도가 변경 되었기 때문에 일반적으로 0이 아닌 값을 볼 수 있습니다 . 이전 시스템에서는 둘 이상의 프로세스에 의해 매핑 된 파일과 이후에 공유 된 메모리를 유지했습니다 .)fork()
  • buffers: 파일로 백업되고 필요한 경우 디스크에 쓸 수있는 메모리;
  • cache: 파일로 백업되고 언제든지 회수 할 수있는 메모리 (차이 buffers는 디스크를 다시로드 할 수있는 것으로 구성되는 반면 버퍼는 재사용하기 전에 디스크에 저장해야한다는 점입니다.
  • used -buffers/cache: 애플리케이션에서 사용하는 메모리 (스왑을 위해 페이징되지 않음)

한 번에 시스템은 버퍼와 캐시없이 실행될 수있어 응용 프로그램을위한 RAM을 예약하고 캐싱없이 디스크 읽기 및 쓰기를 체계적으로 수행 할 수 있습니다. -/+ buffers/cache수치는 애플리케이션 (직접 사용 RAM의 양을 나타내는 used열) 및 애플리케이션 (사용되지 RAM의 양은 free열).

비록 이것이 다를 수 있지만, 건전한 시스템은 일반적으로 RAM의 절반 정도가 응용 프로그램 전용이고 절반은 버퍼 및 캐시 전용입니다. 전용 파일 서버를 실행하지 않는 한 시스템에는 현재 수행중인 작업에 필요한 것보다 많은 RAM이 있습니다. 는 IF free - buffers/cache그림은 낮은, 즉 버퍼 캐시에 전념 많은 메모리가 시스템 성능에 대한 중요 가진 및 응용 프로그램에 대한 더 많은 메모리를 예약하려고 널리 믿음에 충분한 RAM (반대가없는 시스템을 나타냅니다 것 시스템의 99.99 %를 느리게합니다).

swap줄은 간단하며 사용중인 스왑 양 (응용 프로그램 또는 tmpfs스토리지)과 사용하지 않은 스왑의 양을 보여줍니다 .


1
"공유 : 더 이상 존재하지 않는 개념."-2011 년과 2016 년 사이에 다시 도입 된 것 같습니다 : unix.stackexchange.com/questions/307015/…
Marisha

3

네 말이 맞아. 버퍼와 캐시는 OS에서 사용되지만 응용 프로그램에서 즉시 사용할 수 있습니다. OS는 메모리에 대한 다음 요청을 충족시키기 위해 캐시를 무효화하고 일부 기각합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.