사용자 정의 커널을 빌드하려면 kswapd0을 비활성화하세요.

사용자 정의 커널을 빌드하려면 kswapd0을 비활성화하세요.

.configkswapd0이 비활성화된 커널에 필요한 커널 옵션 변경 사항은 무엇입니까? 즉. kswapd0을 비활성화한 상태에서 빌드하기 위해 커널 파일 메모리가 존재하는지 확인하기 위해 어떤 옵션을 사용할 수 있습니까 .config?

이것의 목적은 댓글 작성자가 이에 대해 언급하는 것을 방지하는 것입니다.답변여기서 재현하려면 다음과 같이 말합니다.

예를 들어, 스왑 공간이 없고 시스템의 RAM이 거의 부족한 상황을 생각해 보십시오. 커널은 예를 들어 Firefox에서 메모리를 가져옵니다(Firefox가 디스크에서 로드된 실행 코드를 실행하고 있기 때문에 이를 수행할 수 있습니다. 코드는 필요한 경우 디스크에서 다시 로드할 수 있습니다). Firefox가 N초 후에 해당 RAM에 다시 액세스해야 하는 경우, CPU는 Linux가 일부 RAM을 확보하고(예: 다른 프로세스에서 일부 가져옴) 디스크에서 누락된 데이터를 로드한 다음 Firefox가 계속 실행되도록 하는 "하드 오류"를 생성합니다. 대개. 이는 kswapd0이 수행하는 일반 스왑과 매우 유사합니다. – Mikko Rantalainen 2월 15일, 13:08

(이것을 설명하는 다른 사람들도 찾았습니다.여기- 95%를 언급하는 댓글 참조)

나는 개인적으로맞닥뜨리다이 지속적인 디스크 읽기(192MiB/초 이상)는 몇 분 동안 지속되며(VM을 일시 중지하여 중지하기 전), 메모리를 많이 차지하는 프로세스를 종료하기 위해 OOM이 트리거되기 훨씬 전입니다. , 그러나 당시에는 메모리가 고갈되기 전에 디스크 스래싱이 발생하는 이유(스와핑 없이)를 전혀 알지 못했습니다.

이 마지막 줄에서 영감을 얻은 질문답변

관련 정보