USED와 VIRT의 차이점은 무엇인가요?

USED와 VIRT의 차이점은 무엇인가요?

존재하다맨페이지top,

USED와 VIRT의 차이점은 무엇인가요? USED는 "RES" + "SWAP" 입니다. "VIRT - USED"는 매핑되었지만 사용되지 않은 페이지와 동일합니까?

"VIRT" 또는 "USED"에는 커널 공간에서 사용되는 크기가 포함됩니까?

"RES"에는 "CODE"와 "DATA"가 포함되어 있습니까?

"PGMS"란 무엇입니까?

감사해요.

이러한 각 프로세스에 대해 각 메모리 페이지는 아래 표의 사분면으로 제한됩니다. 실제 메모리와 가상
메모리 모두 이 네 가지 유형의 메모리 중 하나를 포함할 수 있지만 스왑 파일에는 #1부터 #3까지만 포함됩니다. 수정 시 사분면 #4의 메모리는 자체 개인 스왑 파일로 작동합니다.

                             Private | Shared
                         1           |          2
    Anonymous  . stack               |
               . malloc()            |
               . brk()/sbrk()        | . POSIX shm*
               . mmap(PRIVATE, ANON) | . mmap(SHARED, ANON)
              -----------------------+----------------------
               . mmap(PRIVATE, fd)   | . mmap(SHARED, fd)
  File-backed  . pgms/shared libs    |
                         3           |          4

다음은 확장 가능한 열로 표시되는 프로세스 수준 메모리 값을 설명하는 데 도움이 될 수 있으며 주제 "3a"에서 논의됩니다.
필드에 대한 설명입니다.

  %MEM - simply RES divided by total physical memory
  CODE - the `pgms' portion of quadrant 3
  DATA - the entire quadrant 1 portion of VIRT plus all
         explicit mmap file-backed pages of quadrant 3
  RES  - anything occupying physical memory which, beginning with
         Linux-4.5, is the sum of the following three fields:
         RSan - quadrant 1 pages, which include any
                former quadrant 3 pages if modified
         RSfd - quadrant 3 and quadrant 4 pages
         RSsh - quadrant 2 pages
  RSlk - subset of RES which cannot be swapped out (any quadrant)
  SHR  - subset of RES (excludes 1, includes all 2 & 4, some 3)
  SWAP - potentially any quadrant except 4
  USED - simply the sum of RES and SWAP
  VIRT - everything in-use and/or reserved (all quadrants)

....

  1. USED ​​​— 사용 중인 메모리(KiB) 이 필드는 작업에서 사용 중인 스왑되지 않은 물리적 메모리(RES)와 해당 주소 공간(SWAP)의 스왑 아웃된 부분을 나타냅니다.

    자세한 내용은 "개요, Linux 메모리 유형"을 참조하세요.

  2. VIRT - 가상 메모리 크기(KiB) 작업에서 사용하는 총 가상 메모리 양입니다. 여기에는 모든 코드, 데이터, 공유 라이브러리는 물론 교체된 페이지도 포함됩니다.매핑되었지만 사용되지 않은 페이지.

    자세한 내용은 "개요, Linux 메모리 유형"을 참조하세요.

답변1

USED와 VIRT의 차이점은 무엇인가요? USED는 "RES" + "SWAP" 입니다. "VIRT - USED"는 매핑되었지만 사용되지 않은 페이지와 동일합니까?

예. 일반적으로 말하면, 이는 프로그램에 의해 할당된 공간으로 결코 건드리지 않습니다(많은 것들이 큰 덩어리로 할당되며, 공간 할당은 계산 비용이 많이 들기 때문에 종종 과도하게 할당됩니다).

"VIRT" 또는 "USED"에는 커널 공간에서 사용되는 크기가 포함됩니까?

이들 중 어느 것도 커널 공간에서 프로세스를 대신하여 할당된 공간을 차지하지 않습니다. 대부분의 경우 대부분의 프로그램은 커널 메모리에서 많은 공간을 사용하지 않기 때문에 이는 중요하지 않습니다.

"RES"에는 "CODE"와 "DATA"가 포함되어 있습니까?

예, 하지만 반드시 전부는 아닙니다. CODE와 DATA는 모두 SWAP에 부분적으로 상주할 수 있습니다(실제로 완전히 SWAP에 상주할 수 있지만 프로세스가 당시 실제로 코드를 실행하지 않는 경우에만 가능).

관련 정보