我的 openSuse Leap 15.4 系统上运行的plasmashell 任务存在内存泄漏。我定期转储plasmashell 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
你将如何进行?
现在,我唯一的解决方案是使用setsid()命令将正在运行的任务附加到pid 1,然后注销Plasma5会话,然后重新登录新会话,只是为了避免无休止地重复此过程系统 RAM 正在消耗。
答案1
James:我找到了问题的答案,是 KDE 桌面的幻灯片选项导致了问题,我将其关闭,内存泄漏就停止了。实际上,我定期从 /proc/self/maps 区域转储数据并进行比较,关闭幻灯片后,问题不再出现在日志文件比较中。关于您的问题,我使用“htop”来查看plasmashell 任务消耗的系统内存百分比。我假设这是系统 RAM。但无论如何问题已经解决了。