상단의 "buff/cache" 및 "avail mem" 필드는 무엇을 의미합니까?

상단의 "buff/cache" 및 "avail mem" 필드는 무엇을 의미합니까?

top 출력에는 메모리 및 스왑 사용량 줄에 "buff/cache" 및 "avail Mem"이라는 두 개의 필드가 있습니다.

여기에 이미지 설명을 입력하세요.

이 두 필드는 무엇을 의미합니까?

인터넷 검색을 시도했지만 결과는 상단에 일반 기사만 표시하고 필드의 의미를 설명하지 않습니다.

답변1

top맨페이지에는 이러한 필드가 설명되어 있지 않지만free~의하다:

완충기

커널 버퍼에서 사용하는 메모리( Buffersin /proc/meminfo)

은닉처

태블릿( Cached및 ) SReclaimable에서 사용되는 페이지 캐시 및 메모리/proc/meminfo

이득/캐시

버퍼와 캐시의 합

쓸 수 있는

스왑 없이 새 응용 프로그램을 시작하는 데 사용할 수 있는 메모리 양을 추정합니다. 캐시 또는 여유 필드에서 제공하는 데이터와 달리 이 필드는 페이지 캐시를 고려하며 사용 중인 프로젝트로 인해 모든 회수 가능한 메모리 조각이 회수되는 것은 아닙니다( 시뮬레이션 시 커널 3.14 MemAvailable에서 사용 가능 /proc/meminfo, 커널 2.6.27+에서 사용 가능) ), 그렇지 않으면 무료와 동일)

기본적으로 "버프/캐시"는 디스크에 있거나 곧 종료되어야 하는 데이터에 사용되는 메모리를 계산하여 사용할 수 있거나(읽은 후 수정되지 않은 경우 해당 메모리를 즉시 사용할 수 있음) 또는 주어진 충분한 시간(있는 경우), "여유"는 추가 교환을 발생시키지 않고 할당하고 사용할 수 있는 메모리 양을 측정합니다.배포판에서 이식 가능한 사용 가능한 메모리 양을 얻는 방법은 무엇입니까?상세 사항은).

답변2

조금 명확하게 말하자면,완충기인 것을 가리킨다.-- 쓰기가 완료될 때까지 메모리를 회수할 수 없습니다.

은닉처통과된 데이터를 말합니다.읽다-- 다시 읽어야 할 경우를 대비해 보관하되 디스크에서 언제든지 다시 읽을 수 있으므로 즉시 재활용하세요.

답변3

이 정보의 정식 출처는 다음과 같습니다. /usr/src/linux/Documentation/filesystems/proc.txt

완충기: 원시 디스크 블록의 비교적 임시 저장 공간이 너무 커지면 안 됩니다(20MB 정도). 은닉처: 디스크에서 읽은 파일의 메모리 캐시(페이지 캐시)입니다. SwapCached는 제외됩니다.

자세한 내용도 확인하실 수 있습니다여기.

Linux 페이지 캐시("은닉처:" from meminfo )는 대부분의 시스템에서 RAM을 가장 많이 사용하는 단일 소비자입니다. 디스크의 파일에서 read()할 때마다 해당 데이터는 메모리와 페이지 캐시(1.buffer
) 로 읽혀집니다.완충기:" in meminfo)는 dentry/inode 캐싱과 밀접한 관련이 있습니다.

아니면 소스코드를 분석해 보세요.이것.

수량은 buffers함수의 반환 값입니다.nr_blockdev_pages(void)

long nr_blockdev_pages(void)
{
        struct block_device *bdev;
        long ret = 0;
        spin_lock(&bdev_lock);
        list_for_each_entry(bdev, &all_bdevs, bd_list) {
                ret += bdev->bd_inode->i_mapping->nrpages;
        }
        spin_unlock(&bdev_lock);
        return ret;
}

많은 cached:

global_page_state(NR_FILE_PAGES) – total_swapcache_pages – i.bufferram

관련 정보