지난 며칠 동안 이상한 질문이 저를 괴롭혔습니다. 내 Fedora는 평소보다 더 많은 RAM을 차지합니다. 유휴 상태일 때의 일반적인 RAM 사용량은 약 2GB이지만 최대 5.2GB를 초과하여 대부분 DE 충돌이 발생합니다. 실행 중인 프로세스 목록을 확인해 보니 RAM을 300MB 이상 사용하는 프로세스는 하나도 없었고, 이를 모두 합해도 해당 프로세스의 총 RAM 사용량은 5GB가 되지 않았습니다. 포럼에서 수정 사항에 대한 관련 답변을 찾을 수 없습니다. 누구든지 수정 사항을 제안해 주시면 감사하겠습니다. 감사합니다 배포판: Fedora 36 커널: 5.18.11-200.fc36.x86_64 DE: GNOME 42.3.1
답변1
각 프로세스의 RAM 용량을 결정하는 것은 까다로울 수 있습니다. 다양한 도구에 표시되는 숫자는 일반적으로 메모리 양을 나타냅니다.매핑된프로세스의 주소 공간을 입력합니다. 그러나 일부 메모리는 여러 프로세스에 매핑될 수 있으므로 사용량을 합산할 때 공유 부분을 추가하면 안 됩니다. 일부 메모리는 여러 프로세스에서 공유될 수 있습니다. 일부 메모리는 프로세스에 두 번 매핑될 수 있습니다.
따라서 프로세스별 "메모리 사용량"은 각 프로세스를 개별적으로 고려할 때만 유용하지만 이를 추가해서는 안 됩니다. 얼마나 많은 메모리가 공유되고 얼마나 깊이 공유되는지 알 수 없습니다. 이것은잘못된이 값들을 합치면 결과는 컴퓨터의 실제 내용과 일치하지 않는 과대평가된 이미지가 됩니다. 반면에 프로세스별 메모리만 합산하려는 경우에는 엄청난 과소평가에 빠지게 됩니다. 그러니 절대 합산하지 마세요. 시스템에서 보고한 "사용 가능한" 메모리 값에 의존합니다.
또 다른 널리 알려진 오해는 Linux가 "여유" 메모리가 기술적으로 걱정할 사항이 아니라고 믿고 있다는 것입니다. 살펴봐야 할 것은쓸 수 있는메모리; 기술적으로 이는 "유휴 상태 + 버퍼 + 캐시"입니다. 버퍼와 캐시는 응용 프로그램 요청 시 즉시 해제됩니다. 이는 단지 "사용되지 않는 메모리이므로 Linux는 이를 사용하여 컴퓨터 속도를 높입니다. 그렇지 않으면 더 많은 메모리는 돈 낭비일 뿐입니다. 누군가가 그것을 필요로 한다" . 여기 설명도 참조하세요.https://www.linuxatemyram.com/.
메모리 부족 충돌은 커널의 메모리 부족 킬러(OOM-killer)로 인해 발생합니다. 범인이라면 반드시 자신의 행동 과 정황을 dmesg
기록 할 것이다. 간단히 말해서, 메모리가 부족해지면 "최악의" 팻 프로세스를 선택하고 이를 종료하여 메모리를 확보합니다. 메모리 오버플로가 의심되는 경우 반드시 확인하세요. OOM 킬러 작업이 기록되지 않으면 충돌이 발생합니다.아니요메모리 사용량이 높기 때문입니다.