"상단"에 표시된 메모리 비율이 실제 사용된 메모리입니까?

"상단"에 표시된 메모리 비율이 실제 사용된 메모리입니까?

"test_api"를 실행 중인데 상단에 총 32GB 메모리의 35.7%를 소비하고 있음이 표시됩니다. 그러나 전체적으로 top에는 전체 메모리의 약 11%에 해당하는 "3586540 사용됨"도 표시됩니다. 그래서:

  1. 35.7% "test_api"에서 사용하는 "buff/cached"가 포함되어 있나요?

  2. 그렇지 않다면 "test_api"에 메모리 누수가 있음을 의미합니까?

답변1

이 프로세스에서는 11GB의 예약 메모리와 10GB의 공유 메모리를 사용합니다.

32GB RAM 및 64GB 스왑 공간. 사용 가능한 총 메모리입니다

TOP은 단순히 단일 프로세스의 메모리가 아닌 모든 버퍼 + 캐시 메모리의 합을 보여줍니다.

시간이 지남에 따라 메모리 누수로 인해 할당되어야 하는 것보다 더 많은 메모리가 소모됩니다.

프로그래머만이 정상적인 동작이 무엇인지 알 수 있습니다. 또는 재할당되지 않은 설명되지 않은 메모리를 얻기 위해 프로그램을 디버깅합니다.

TOP은 이 작업에 충분하지 않습니다.

남자 이름시간이 지남에 따라 행동을 관찰하는 것이 더 나을 수도 있습니다.

관련 정보