解决Kubuntu 22.04系统监视器应用程序标签内存占用显示异常问题
解决Kubuntu 22.04系统监视器应用程序标签内存占用显示异常问题
嘿,我之前也碰到过类似的情况!这个问题其实是因为你在.desktop文件里用GTK_USE_PORTAL=1 firefox %u这种写法时,系统会悄悄启动一个shell进程来执行这条带环境变量的命令,而系统监视器的「应用程序」标签把这个临时的shell进程当成了主程序——那玩意儿自然只占几百KB内存,真正的Firefox进程是它的子进程,所以没被正确统计到应用标签里。
给你几个不用修改.profile全局变量的解决办法:
用
exec直接替换shell进程
把.desktop文件里的Exec行改成这样:Exec=sh -c 'GTK_USE_PORTAL=1 exec firefox %u'这里的
exec会让Firefox直接替换掉启动它的shell进程,这样系统监视器就会把Firefox识别成主进程,应用标签里就能显示真实的内存占用了。用
env命令来设置环境变量
另一种写法是用env工具来传递环境变量,避免多余的shell包装:Exec=env GTK_USE_PORTAL=1 firefox %u这种方式更简洁,
env会直接带着指定的环境变量启动Firefox,不会产生额外的shell进程,系统监视器就能正确识别主程序的内存占用了。
修改完.desktop文件后,记得要么注销再登录KDE桌面,要么用下面的命令刷新桌面数据库,确保修改生效:
update-desktop-database ~/.local/share/applications/
如果你的.desktop文件在系统目录/usr/share/applications/,就加上sudo权限执行:
sudo update-desktop-database /usr/share/applications/
这样操作后,再打开Firefox去系统监视器的应用程序标签看看,应该就能看到真实的1-3GB内存占用啦。
备注:内容来源于stack exchange,提问作者Usermaxn
相关产品推荐
相关产品推荐

