在Linux中,如果启用了图形界面,由于gnome内存回收机制存在bug(详情请参考链接:https://feaneron.com/2018/04/20/the-infamous-gnome-shell-memory-leak/),一段时间后gnome-shell会占用系统中大量的内存,如下所示:

ps auxwww |grep gnome-shell

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root     22522  0.5 48.1 23940220 15854516 ?   Sl   1月21 1388:02 /usr/bin/gnome-shell
root     26668  0.6 30.6 15092080 10099800 ?   Sl   4月13 838:26 /usr/bin/gnome-shell

通过系统命令重启gdm服务后内存会被释放,问题可以暂时得到解决(注意:重启gdm服务就是重启图形界面,如果图形界面中有运行任何任务,请不要执行本文章中的操作,否则图形界面中运行的任何任务都会中断!!!)。

systemctl restart gdm.service

但是,这只是临时的解决方法,隔一段时间后问题会再次出现。如上面的blog链接所示,gnome的问题可能在3.28的版本中得到解决,如果需要长期用到gnome图形界面,建议尝试升级gnome的版本看问题是否得到完全解决。

如果不需要使用gnome图形界面服务,可以使用以下方法关闭:`

 systemctl stop gdm.service
 systemctl disable gdm.service
 systemctl status gdm.service
 systemctl set-default multi-user.target
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐