메모리 사용량이 매우 높으며 아무것도 실행되지 않습니다.

메모리 사용량이 매우 높으며 아무것도 실행되지 않습니다.

저는 GNOME 3.38 X11이 설치된 Arch Linux를 실행하고 있으며 (컴퓨터를 잠시 사용하고 모든 것을 종료한 후) 유휴 상태인 약 8-9GB의 RAM을 사용하는 문제에 직면했습니다.

나는 대해 알고있다린드샤트 밀람free -m, 다음이 인쇄 되므로 이것이 문제라고 생각하지 않습니다 .

               total        used        free      shared  buff/cache   available
Mem:           62282        9059       29502         162       23720       52368
Swap:           8191           0        8191

이는 아무것도 실행하지 않을 때 실제로 많은 메모리를 사용하고 있음을 보여줍니다. 16GB를 사용하던 시절에도 이 문제로 인해 메모리 부족 현상이 자주 발생했는데, 메모리 사용량이 늘어나면 캐시가 줄어들기 때문에 일종의 캐싱은 아닌 것 같습니다.

이상하게도 top메모리 사용량은 유지한다고 주장하는 양에 합산되지 않습니다.여기에 내가 얻은 결과를 붙여넣었습니다.. 뭔가가 새고 있는 게 틀림없다고 잠시 생각해 봤는데 뭔지 알 수가 없네요.

편집: 추가 출력. 이는 재시작 직후에 측정되었으므로 대표성이 없습니다. 동일한 상황이 발생하면 다시 실행하여 게시하겠습니다.

$ mount | grep tmpfs
dev on /dev type devtmpfs (rw,nosuid,relatime,size=31848276k,nr_inodes=7962069,mode=755,inode64)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755,inode64)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,inode64)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,size=4096k,nr_inodes=1024,mode=755,inode64)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,size=31888716k,nr_inodes=409600,inode64)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=6377740k,nr_inodes=1594435,mode=700,uid=1000,gid=985,inode64)
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
dev              31G     0   31G   0% /dev
run              31G  1.7M   31G   1% /run
/dev/nvme0n1p3  450G  208G  219G  49% /
tmpfs            31G  737M   30G   3% /dev/shm
tmpfs           4.0M     0  4.0M   0% /sys/fs/cgroup
tmpfs            31G   19M   31G   1% /tmp
tmpfs           6.1G  136K  6.1G   1% /run/user/1000

답변1

제공한 정보에 따르면 tmpfs파일 시스템이 마운트되어 /tmp있으며 /dev/shm다른 유사한 유틸리티에서는 표시되지 않습니다.top

이러한 마운트 지점의 사용량을 모니터링 df하고 데이터를 정리하거나 애플리케이션이 해당 마운트 지점에 데이터를 쓰는 것을 중지하십시오. 일부 응용 프로그램은 파일을 생성하고 즉시 삭제하지만 이러한 파일은 여전히 ​​공간을 차지합니다. ls예를 들어 or를 통해 직접 볼 수는 없지만 다음 df을 통해 확인할 수 있습니다.

sudo lsof -n | egrep "/tmp|/dev/shm" | grep deleted

이 문제를 본 것은 이번이 20번째이므로 , top및 에 대한 free버그 보고서를 제출했습니다 htop.

https://gitlab.com/procps-ng/procps/-/issues/196

https://github.com/htop-dev/htop/issues/556

답변2

문제가 9GB의 메모리 사용인 경우 top을 실행하고 %MEM을 기준으로 프로세스를 나열합니다.

완전히 정상입니다. Linux, Windows 및 대부분의 기타 운영 체제는 가능한 모든 것을 캐시하는 것을 좋아합니다. 메모리가 사용 중이지만 콘텐츠에 대한 잠금이 없습니다. 디스크 읽기가 스크롤되는 속도만큼 빠르게 해제되고 다른 것으로 교체될 수 있습니다.
대규모 프로세스(또는 대규모 프로세스 그룹)가 방금 완료된 경우에만 많은 여유 메모리가 표시됩니다.

관련 정보