top은 cat의 메모리 사용량을 표시하지 않습니다.

top은 cat의 메모리 사용량을 표시하지 않습니다.

50GB 정도의 정크 파일을 생성하고 싶습니다. 그래서 나는 이것을 썼다.

eightnoteight@mr:~/ while true; do
> cat txt >> tmp
> cat tmp >> txt
> done

내가 정상으로 달려가는 모습을 지켜보세요. 상단에 있는 고양이의 메모리 소비량이 0.0인 것을 확인했습니다.

고양이가 내 기억력을 소모하지 않는다면 누가 그 일을 하고 있나요? (직접 커널 호출인가요?)

고양이의 메모리 소비

답변1

%MEM 열의 반올림 때문에 오해하신 것 같습니다. VIRT 및 RSS 열을 보면 사용된 가상 메모리의 양과 상주 메모리가 보고됩니다. 두 경우 모두 0이 아님을 알 수 있습니다.

가상 메모리는 공유 라이브러리 및 교체된 페이지를 포함하여 프로세스가 소유한 가상 메모리의 양입니다. RSS(상주 메모리)는 프로세스에서 사용 중인 스왑되지 않은 물리적 메모리의 양입니다.

작업이 간단하고 메모리 요구 사항이 낮은 작은 실행 파일 이므로 cat, 주 메모리가 4GB인 시스템에서 차지하는 메모리 바이트 수는 0.0으로 반올림됩니다.

그러나 여러분의 직관은 그리 멀지 않으며 커널은 파일을 디스크에 쓰는 데 실제로 관련된 대부분의 작업을 수행하고 있습니다.

관련 정보