페이지 캐싱은 RAM 및 vmPressure를 소비합니다.

페이지 캐싱은 RAM 및 vmPressure를 소비합니다.

결론은 Linux 커널이 우리가 가지고 있는 사용 가능한 RAM을 모두 소진할 때 발생하는 것입니다. (나는 이것이 완벽하게 괜찮다는 것을 알고 있으며 메모리는 여전히 사용 가능하며 회수될 수 있습니다.https://www.linuxatemyram.com/) 그러나 그 전에 Linux 커널은 Android가 OOM 조건을 감지하고 사용자 프로세스 종료를 시작하는 데 사용하는 vmPressure 이벤트를 트리거합니다.

특히 Android 9 및 Linux 커널에서 이 문제가 발생했습니다.

Linux version 4.14.65-tcc (dimorinny@dimorinny-pc) (gcc version 4.9.x 20150123 (prerelease) (GCC)) #6 SMP PREEMPT Fri Nov 13 16:47:48 MSK 2020

Linux가 이러한 상황을 메모리 부족으로 간주하고 이벤트를 유발하는 이유를 아는 사람이 있을까요? VM 스트레스가 발생하기 전에 Linux가 파일 지원 캐시를 회수하도록 강제하는 방법이 있을까요?

답변1

이는 일반적인 Linux 문제처럼 들리지 않으며 특정 Android ROM 설정 방식에 문제가 있는 것처럼 보입니다.

기본적으로 Linux 커널은 이미 실행 중인 프로세스를 종료하거나 콘텐츠를 페이징하지 않고 새 프로세스를 실행할 수 있도록 버퍼/캐시를 절대적으로 회수합니다.

관련 정보