ls -lR /
단지 재미삼아 Linux 시스템에서 메모리를 "버퍼"하는 데 어떤 일이 일어나는지 보고 싶었습니다 . 예상대로 가치가 높아졌습니다. 그러나 "애플리케이션 메모리"(예: "사용됨" - (버퍼 + 캐시))도 증가하고 명령이 완료된 후에도 다운되지 않는 것으로 나타났습니다.
그래서 재부팅하고 가능한 한 적은 수의 앱을 실행한 후 다시 테스트했습니다(다른 앱이 메모리를 사용하고 있는데 눈치채지 못한 경우). top -b -n 1
출력 전후를 기록했습니다 .
$ free -m
total used free shared buffers cached
Mem: 3879 413 3466 1 63 232
-/+ buffers/cache: 117 3762
Swap: 7059 0 7059
$ top -b -n 1
top - 19:33:36 up 11 min, 1 user, load average: 0,00, 0,02, 0,05
Tasks: 130 total, 1 running, 129 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0,3 us, 0,2 sy, 0,0 ni, 97,9 id, 1,5 wa, 0,0 hi, 0,0 si, 0,0 st
KiB Mem: 3972908 total, 423356 used, 3549552 free, 65308 buffers
KiB Swap: 7229324 total, 0 used, 7229324 free. 238424 cached Mem
(process list omitted)
$ ls -lR /
(output omitted)
$ free -m
total used free shared buffers cached
Mem: 3879 1293 2586 1 315 252
-/+ buffers/cache: 725 3154
Swap: 7059 0 7059
$ top -b -n 1
top - 19:36:19 up 14 min, 1 user, load average: 0,33, 0,25, 0,13
Tasks: 130 total, 1 running, 129 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0,4 us, 2,2 sy, 0,0 ni, 95,5 id, 1,8 wa, 0,0 hi, 0,0 si, 0,0 st
KiB Mem: 3972908 total, 1324492 used, 2648416 free, 322580 buffers
KiB Swap: 7229324 total, 0 used, 7229324 free. 258976 cached Mem
(process list omitted)
의 프로세스 목록은 정확히 동일하게 유지됩니다(물론 열 TIME+
및 top
프로세스 자체에 대한 일부 변경 사항은 제외). 이는 프로세스가 실제로 추가로 0.5GB의 메모리를 사용하지 않음을 나타냅니다. 그래서 내 질문은: 이 메모리를 사용하는 것은 무엇이며 결국에는 해제됩니까? 그리고 시스템을 오래 사용하고 파일시스템에 자주 접근하는 경우에도 같은 현상이 발생하나요?