프로세스 크기를 다시 조정(느리게)하면 메모리가 부족할 때 속도가 더 빨라지나요?

프로세스 크기를 다시 조정(느리게)하면 메모리가 부족할 때 속도가 더 빨라지나요?

메모리 사용량이 높은 장치에서 실행되는 일부 프로세스의 우선 순위를 지정하고 싶다고 가정해 보겠습니다. 이러한 프로세스는 UI 프로세스(특히 Android)이며 이 상태에서는 매우 느리게 실행됩니다. 내 프로세스를 찾기 위해 grep할 때

ps -eo min_flt,maj_flt,cmd

내 기본 페이지 오류가 매우 높다는 것을 알 수 있습니다(새 Android 활동 열기와 같은 UI 작업의 경우 수천 개).

프로세스를 낮은 우선순위(높은 우선순위)로 조정하면 심각한 페이지 오류가 더 적게 나타날 것으로 예상할 수 있습니까? 우선 순위를 높이면 더 많은 CPU 리소스가 제공되지만 병목 현상이 메모리 부족/페이지 오류인 경우 프로세스 속도가 빨라질지는 확실하지 않습니다.

답변1

우선 순위를 높이면 더 많은 CPU 리소스가 제공되지만 병목 현상이 메모리 부족/페이지 오류인 경우 프로세스 속도가 빨라질지는 확실하지 않습니다.

하지 않을 것이다. 이 nice수준은 스케줄러에만 영향을 미칩니다.

루트 권한을 사용하면 mlockall(MCL_CURRENT|MCL_FUTURE)매핑된 페이지를 RAM에 잠글 수 있습니다. 리눅스에서. 안드로이드에 그런 기능이 있는지는 모르겠습니다.

얼마 전에 간단한 래퍼를 만들어 실행 파일을 실행할 수 있도록 mlockall상태를 상속할 수 있는 패치가 있었습니다 .execmlockallhttps://lwn.net/Articles/308552/불행히도 패치는 메인라인 Linux에 적용되지 않으므로 codez를 편집해야 하거나 스크립트 언어 해석기인 경우 이를 수행할 수 있는 방법을 찾아야 합니다 mlockall.

관련 정보