我最近在装有 8GB 内存的 Dell studio xps 1640 上安装了 kubuntu 16.04。一切运行正常,但有些东西确实让我很困扰。全新启动后,当我检查系统资源时,发现mysqld
占用了大约150~200MB of RAM
,并且有一堆akonadi
服务正在运行(联系人、生日、邮件*、sendalter 等),而我真的不需要也不使用这些服务,这浪费了内存。但严重的问题是 mysqld,过了一段时间(3-4 小时)后,mysqld 占用了大约800MB~1GB
的 RAM,直到我重新启动系统才会释放。我应该说一下,我没有任何正在运行的数据库,也不使用 mysql!所以只有 ubuntu 在使用它。
我的问题是:
首先,我如何禁用(删除)不需要的 akonadi 服务并完全不让它们自动启动和运行(我禁用了 akonadiserver,但没有帮助)。我从 akonadi 使用的唯一服务是 krunner,我真的不需要 kMail、Calendar 和...。
其次,为什么 mysqld 要占用这么多的内存(虽然我猜这与上面提到的 akonadi 问题有关,因为 mysqld 进程的父进程是 akonadiserver)以及如何防止这种情况发生。因为我的工作与 RAM 使用有关,我确实需要内存,所以我不能让那些不需要的服务使用这么多的资源。
如果您能帮助我解决这个问题,我将不胜感激。提前感谢您的帮助。
答案1
直到 ubuntu 提供了针对此问题的修复程序,我才找到了一种解决方法!
我使用该命令pkill -f akonadi
并将其添加到启动中。系统设置>>启动和关闭>>自动启动。使用此命令,所有 akonadi 服务将在启动时被终止,mysqld 进程也将随之终止,并且它们占用的所有内存都将被释放。
此后一切都正常运行,我没有发现任何错误或功能缺失。
删除 akonadi 服务
使用命令sudo apt-get remove --purge kmail akonadi-server
您可以卸载 akonadi-server 及其所有集成服务,而不会对系统造成任何有害更改。这样,内存使用量将低于 500MB,并且 mysqld 将不会运行并占用资源。
答案2
我也遇到了同样的问题,虽然我不知道如何卸载 akonadi,但我卸载了使用它的应用程序:kontact、kaddressbook、kmail、knotes 和 korganizer。Akregator 似乎无法启动 akonadi,所以我让它安装。
sudo apt-get remove kontact kaddressbook kmail knotes korganizer
由于 akonadi 没有启动,我的内存使用量在启动后从近 900MiB 降至不到 500MiB。由于 akonadi 没有启动,因此 mysqld 进程在一段时间后浪费了超过 800MiB(在没有任何其他程序运行的情况下,总内存使用量为 1.5GiB)。
如果您不想卸载这些应用程序,您可以从系统托盘中将它们全部关闭。就我而言,它们正在运行 kmail 和 korganizer。就 korganizer 而言,您必须从系统托盘中的图标取消选中提醒事件的选项(我认为它显示为事件提醒守护程序或类似内容)。这样,下次启动计算机时,这些进程将不会被初始化,akonadi 也不会启动。
但请注意,只需启动一次任何应用程序就会启动 akonadi,直到您关闭计算机,关闭应用程序时它不会被终止(注意:您可以使用“akonadictl stop”从终端停止它)。
答案3
如果您想禁用服务而不是删除它们以避免将来出现依赖问题,您可以通过编辑配置文件来禁用它们。
要禁用服务器,请编辑 akonadi 服务器配置文件~/.config/akonadi/akonadiserverrc
。
改成。StartServer=true
StartServer=false
答案4
我也遇到了这个问题,pkill
我觉得有点残酷
由于我没有使用任何依赖 akonadi 的应用程序,因此akonadictl stop
当 mysqld 权重过大时,我会发出警告。它不会重新启动,直到我启动 Kmail、Kontact 等程序,这意味着永远不会!不幸的是,它会在重启时恢复。我没有找到任何解决方案来永久修复这个问题