저는 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
.
답변2
문제가 9GB의 메모리 사용인 경우 top을 실행하고 %MEM을 기준으로 프로세스를 나열합니다.
완전히 정상입니다. Linux, Windows 및 대부분의 기타 운영 체제는 가능한 모든 것을 캐시하는 것을 좋아합니다. 메모리가 사용 중이지만 콘텐츠에 대한 잠금이 없습니다. 디스크 읽기가 스크롤되는 속도만큼 빠르게 해제되고 다른 것으로 교체될 수 있습니다.
대규모 프로세스(또는 대규모 프로세스 그룹)가 방금 완료된 경우에만 많은 여유 메모리가 표시됩니다.