메모리 문제. 무료를 사용하여 근본 원인을 식별하는 방법

메모리 문제. 무료를 사용하여 근본 원인을 식별하는 방법

내 시스템에서 두 개의 응용 프로그램을 실행하고 있습니다.

두 개의 애플리케이션을 병렬로 실행하면 몇 분 내에 메모리가 소모됩니다.

[아래 데이터는 실제 데이터가 아닙니다. 단지 설명을 위한 것입니다]

초기상태..

             total       used       free     shared    buffers     cached
Mem:          3926       1193       2732          0         64        626
-/+ buffers/cache:        502       3423
Swap:         3990          0       3990

메모리 가득 참 상태

             total       used       free     shared    buffers     cached
Mem:          3926       1193        732          0         64       2626
-/+ buffers/cache:        502       3423
Swap:         3990          0       3990

내 첫 번째 질문 :-

1) 이 상태에서는 화면이 멈추고 메모리 부족 오류가 발생합니다. 하지만 이해해 보면 여전히 사용할 수 있는 여유 메모리가 3423MB입니다. 왜 이 오류가 발생하는지 힌트를 줄 수 있는 사람이 있나요??

어떤 프로그램이 원인인지 찾기 위해 프로그램을 하나씩 종료해 보았습니다.

Program1을 종료하면 100MB의 캐시 메모리가 확보되고 여유 메모리로 이동됩니다.

             total       used       free     shared    buffers     cached
Mem:          3926       1193        832          0         64       2526
-/+ buffers/cache:        502       3423
Swap:         3990          0       3990

그런데 program2를 종료하면 남은 1900MB의 캐시 메모리가 해제됩니다. 다음과 같이 됩니다.

             total       used       free     shared    buffers     cached
Mem:          3926       1193       2732          0         64       626
-/+ buffers/cache:        502       3423
Swap:         3990          0       3990

질문 2 :-

program2가 program1보다 리소스를 더 많이 소모하고 있습니까? 캐시 메모리 사용량이 더 많은 메모리를 사용하고 있음을 나타냅니까??

관련 정보