알아요. 이것은 같은 주제에 대한 1000번째 질문입니다. 며칠 동안 많은 게시물을 읽었지만 여전히 이상한 상황에 대한 답을 찾을 수 없습니다.
내 컴퓨터에 16GB RAM이 있으면 모든 것이 정상입니다. 32GB로 업그레이드했는데 커널이 사용할 수 있는 모든 RAM(~25GB)을 소모하기 시작하여 애플리케이션을 위한 공간이 남지 않았습니다. 메모리 사용량을 다음과 같이 보고합니다 free
.atop
버퍼/캐시.
캐시를 지우면 몇 GB를 복원할 수 있지만 몇 분 동안만 복원됩니다. 2개의 SSH 세션을 제외하고 모두 닫으려고 했습니다. 같은 결과. 실행 중인 앱이 10개 미만인데도 여전히 약 20GB의 공간이 있습니다.버퍼/캐시핵심으로 먹습니다. 이를 제거하는 유일한 방법은 재부팅하는 것입니다.
저는 커널 4.4.0-79-generic과 함께 Linux Mint 18을 실행하고 있습니다. 참고로 내 시스템은 2GB 미만의 RAM으로 부팅됩니다(백그라운드에서 배고픈 앱이 실행되지 않음).
누출을 식별하는 방법을 아는 사람이 있습니까?
[해결됨]- 이유는 정해져 있는데, 그 이유는 다음과 같습니다.안내도(이에 대한 내 의견은 내 답변에 있습니다)
답변1
이는 문제가 되지 않습니다. Linux가 작동하는 방식은 RAM을 많이 사용하는 응용 프로그램에 영향을 주지 않고 성능을 향상시키는 것입니다.
답변2
Mint 18.1을 다시 설치했는데 문제가 사라졌습니다. 메모리 사용량은 이전 25~30GB에서 3GB 미만으로 유지됩니다.
무슨 일이 일어나고 있는지에 대한 나의 이해는 이것이 다른 사람에게 도움이 된다면 커널에 메모리 누수가 있다는 것입니다. 커널 자체가 유출되는 게 아닌가 의심되는데, 드라이버가 원인일 수도 있습니다.
커널 메모리 누수에 관한 흥미로운 문서를 찾았습니다.https://01.org/linuxgraphics/gfx-docs/drm/dev-tools/kmemleak.html. 어떤 버전의 커널이 이를 활성화할 수 있는지 잘 모르겠지만 Ubuntu의 일반 커널 4.10에서는 활성화할 수 없습니다(커널은 옵션을 활성화한 상태로 다시 컴파일해야 합니다).
이 아이디어를 따르세요.드디어 이유를 찾았어요. 몇주전에 설치했는데안내도. 시스템 응용 프로그램으로 표시되지 않습니다. 다시 설치했는데 결과는 간단했습니다. 프로세스 수가 시작됨에 따라 메모리 사용량은 계속해서 천천히 증가합니다.
동일한 문제가 여기에 설명되어 있습니다.https://forums.linuxmint.com/viewtopic.php?t=226774
답변3
캐시를 지우면 몇 GB를 복원할 수 있지만 몇 분 동안만 복원됩니다. 2개의 SSH 세션을 제외하고 모두 닫으려고 했습니다. 같은 결과.
설명하신 대로 백그라운드 활동과 같이 식별할 항목이 있는 것처럼 들립니다. 두 번째 경우에는 놀랍게도 캐시를 지우고 데스크톱 세션의 "2GB 미만 RAM 사용" 수준으로 되돌릴 수 없습니다.
캐시에서 더티 페이지를 제거할 수 없으므로 데이터가 손실된다는 점을 기억하세요. (vm.dirty_writeback_centisecs 이후에 시작되는 쓰기 저장으로 "정리"되어야 하며 기본값은 3초입니다). 완전성을 위해 sync
캐시를 삭제하기 전에 사용해 주시기 바랍니다.
일반적으로 페이지 캐시는 애플리케이션 읽기 및 쓰기로 채워져야 합니다. 당신이 전문가라면 atop
(나는 그렇지 않습니다) 아마도 그것이 당신에게 영감을 줄 것입니다. 그렇지 않으면 iotop
프로세스당 대역폭이 표시됩니다. 최선을 다해 캐시를 지우고 데스크탑이 다시 돌아올 때까지 기다린 후 iotop에 무엇이 나타나는지 지켜보세요.
iotop -b
나중에 출력이 손실되지 않도록 배치 모드가 제공됩니다.
예를 들어, 지금 실행되도록 백업을 구성한 경우 이러한 통계를 볼 수 있습니다. (일부 백업 도구는 페이지 캐시를 채우고 GUI 응용 프로그램을 제거하는 등을 두려워하여 의도적으로 페이지 캐시 사용을 피하려고 시도합니다.)