내 시스템에서 두 개의 응용 프로그램을 실행하고 있습니다.
두 개의 애플리케이션을 병렬로 실행하면 몇 분 내에 메모리가 소모됩니다.
[아래 데이터는 실제 데이터가 아닙니다. 단지 설명을 위한 것입니다]
초기상태..
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보다 리소스를 더 많이 소모하고 있습니까? 캐시 메모리 사용량이 더 많은 메모리를 사용하고 있음을 나타냅니까??