내 openSuse Leap 15.4 시스템에서 실행 중인 플라즈마셸 작업에 메모리 누수가 있습니다. 주기적으로 플라즈마셸 pid의 /proc/$pid/map을 덤프하고 두 로그의 차이점을 얻습니다.
< 7fa3b795c000-7fa3b79d4000 rw-s 00000000 00:01 15204415 /SYSV00000000 (deleted)
---
> 7fa3b7950000-7fa3b79c8000 rw-s 00000000 00:01 15302703 /SYSV00000000 (deleted)
크기가 15204415에서 15302703으로 증가하는데 이는 시스템 RAM이 천천히 소모되고 있음을 나타냅니다.
인터넷에서 /SYSV00000000을 찾아봤지만 공유 메모리 내용이었습니다.
이것을 더 구체적으로 이해하고 메모리 누수를 정확히 찾아낼 수 있는 방법은 무엇입니까?
현재 Plasma 데스크탑 세부정보는 다음과 같습니다.
Operating System: openSUSE Leap 15.4
KDE Plasma Version: 5.24.4
KDE Frameworks Version: 5.90.0
Qt Version: 5.15.2
Kernel Version: 5.14.21-150400.24.28-default (64-bit)
Graphics Platform: X11
Processors: 6 × Intel® Xeon® CPU E5-1650 v2 @ 3.50GHz
Memory: 31.3 GiB of RAM
Graphics Processor: llvmpipe
어떻게 진행하시겠습니까?
이제 유일한 해결책은 setid() 명령을 사용하여 실행 중인 작업을 pid 1에 연결한 다음 Plasma5 세션에서 로그아웃하고 새 세션으로 다시 로그인하는 것입니다. 이는 시스템 RAM이 소모될 때 이 프로세스가 끝없이 반복되는 것을 피하기 위한 것입니다. .
답변1
James: 내 문제에 대한 답을 찾았습니다. 문제를 일으키는 것은 KDE 데스크탑의 슬라이드쇼 옵션이었습니다. 이 옵션을 끄자 메모리 누수가 멈췄습니다. 실제로 /proc/self/maps 영역에서 주기적으로 데이터를 덤프해 비교해보았는데, 슬라이드쇼를 닫은 후에는 로그 파일 비교에서 더 이상 문제가 나타나지 않았습니다. 귀하의 질문과 관련하여 "htop"을 사용하여 플라즈마쉘 작업에 사용되는 시스템 메모리의 비율을 확인했습니다. 나는 이것이 시스템 RAM이라고 가정합니다. 그러나 문제는 어쨌든 해결되었습니다.