집에는 kodi(xbmc)와 몇 가지 다른 네트워크 서비스를 실행하는 htpc/server-ish 우분투 상자가 있습니다.
kodi가 느린 것을 확인하여 무슨 일이 일어나고 있는지 확인하기 위해 상자에 SSH를 연결했습니다. 나는 이 htop 출력을 보았습니다:
이것은 free -m의 출력입니다.
richard@RMD-HTPC:~$ free -m
total used free shared buffers cached
Mem: 7642 7505 137 152 196 1296
-/+ buffers/cache: 6012 1630
Swap: 1905 10 1895
스크린샷에서 사용 가능한 메모리 사용량이 7600mb 중 6000인 이유는 7505입니다.
하지만 htop의 고유 프로세스 비율을 모두 더하면 약 22-25%밖에 나오지 않나요? 훨씬 더 높아야 하지 않나요?
답변1
htop
버퍼와 캐시 메모리는 실제로 그렇게 볼 수 있기 때문에 여유 메모리로 간주되기 때문입니다 .
일부 캐시된 데이터를 메모리에 보관하는 데는 "비용"이 없으므로 커널은 나중에 필요할 경우를 대비해 데이터를 메모리에 보관합니다.
예를 들어, 약 500mb의 비디오를 시청하고 비디오를 닫은 후 커널은 비디오가 다시 필요할 경우를 대비하여 해당 부분을 정리하는 대신 메모리에 보관하기로 결정할 수 있습니다. 느린 하드 드라이브에서 로드되어 다시 읽습니다. 하지만 다른 용도로 메모리가 필요할 때마다 커널이 해당 메모리를 사용할 수 있기 때문에 500MB는 무료로 간주될 수 있습니다.
해당 프로그램이 현재 해당 메모리를 사용하고 있기 때문에 실행 중인 프로그램에서 해당 메모리를 사용하는 경우에는 해당되지 않습니다.
used
메모리에서 buffers
합계 값을 빼면 cached
표시된 값을 얻게 됩니다 htop
.
그러면 언급한 비율은 어떻게 요약하느냐에 따라 달라집니다.