KSysGuard가 메모리 사용량을 잘못 보고함

KSysGuard가 메모리 사용량을 잘못 보고함

최근에 랩톱이 약간 느리게 실행되고 디스크 표시등이 많이 깜박이는 것을 몇 번 보았습니다. SSD와 12GB RAM을 갖춘 i7이므로 탐색만 할 때 속도가 크게 느려질 것으로 예상하지는 않습니다.

지난번에 문제가 발생하여 시스템 모니터(KSysGuard)를 잠깐 살펴보니 2GB 스왑 파티션이 100% 활용된 것으로 표시되었지만 실제 메모리는 11.6개 중 4.8GB에 불과했습니다(그래프가 나타나는 위치). 로 이동). 그래서 스왑을 껐다가 다시 켜서( swapoff -a, swapon -a) 비워볼까 생각했는데 RAM 부족으로 스왑오프가 실패했습니다.

KSysGuard에 따르면 약 7GB의 여유 공간이 있어야 하므로 혼란스러웠기 때문에 Top이 무슨 말을 하는지 알 수 있을 것이라고 생각했습니다. 상단에는 약 150MB의 여유 RAM과 2048/2048MB 스왑이 사용 중인 것으로 나타났습니다. 조금 느리게 실행되는 것도 당연합니다!

KSysGuard가 메모리 사용량을 너무 적게 보고하는 이유는 무엇이며 어떻게 해야 가장 잘 알 수 있습니까?

답변1

의견에 따라 다음을 사용하여 스왑 파일을 2GiB에서 6GiB로 늘렸습니다.

sudo swapoff -a
sudo rm /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=6144
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

각각 위의 명령은 페이지를 물리적 메모리로 다시 이동하여 스왑을 끄고, 스왑 파일을 제거하고, swapfile이라는 새 6GiB 파일을 생성하고, 권한을 루트로만 설정하고, 스왑 사용을 위해 파일을 구성하고 마지막으로 스왑을 다시 설정합니다. 새로운 파일.

그런 다음 페이지 파일로의 교체를 약간 더 적극적으로 만들기 위해 vm.swappiness=70두 번째 섹션의 끝에 추가했습니다 (일부 물리적 메모리 절약)./etc/sysctl.conf

그러나 실제로 KSysGuard가 사용 중인 RAM의 양에 대해 거짓말을 하는 것처럼 보이는 이유에 대한 질문에 대답하려면 기본 "메모리 및 스왑 기록" 차트가 실제로 "애플리케이션 메모리" 센서의 데이터만 표시하기 때문입니다. 이 문제를 해결하기 위해 KSysGuard에 Memory라는 탭을 추가하고 2개의 그래프(물리적 메모리용 그래프와 스왑용 그래프)를 포함했습니다. 물리적 메모리 그래프에는 사용된 메모리, 사용 가능한 메모리, 버퍼 메모리, 캐시 메모리 등의 센서가 구성되어 있습니다. Only Used 및 Cache가 실제로 필요하지만 실제로 사용된 메모리 양을 알려주는 것은 Used 메트릭입니다.

답변2

댓글 중에서...

참고: 사용되지 않은 RAM은 파일 및 디스크 버퍼에 사용된다는 점을 기억하세요.

진짜 문제는 2G 스왑 공간이 너무 작아서 디스크가 스래싱되고 있다는 것입니다.

스왑을 최소 6G로 늘리고 vm.swappiness를 기본값인 60에서 80으로 수정하겠습니다.

vm.swappiness의 다양한 설정을 테스트하려면 sudo sysctl vm.swappiness=80. 기본값인 60보다 큰 vm.swappiness 값은 스왑을 더 많이 활용합니다. 60보다 작은 값은 RAM을 더 많이 사용합니다.

영구적으로 만들려면 마지막에 편집 /etc/sysctl.conf하고 추가한 다음 재부팅하세요.vm.swappiness=80

관련 정보