![救命!Linux 确实占用了我的内存](https://linux22.com/image/1059174/%E6%95%91%E5%91%BD%EF%BC%81Linux%20%E7%A1%AE%E5%AE%9E%E5%8D%A0%E7%94%A8%E4%BA%86%E6%88%91%E7%9A%84%E5%86%85%E5%AD%98.png)
首先,我知道 Ubuntu 系统监视器中显示的内存使用情况并不确定。我读了所有类似这样的内容。但请考虑一下:
- 我在 MacBook Pro 上安装了 Ubuntu 16.04 双启动作为主操作系统
- MBP 有 8GiB 内存(准确地说是 7.7GiB)
- 每隔一天,我的笔记本电脑就会卡住,直到没有任何反应,我只能以每英寸几分钟的疯狂延迟移动光标(换句话说;完全冻结)
自从发生这种情况以来,我一直打开系统监视器,每次系统冻结都是因为内存使用率高达 99.99%。
我尝试使用诸如此类的命令sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
和 Chrome 扩展程序来更好地管理进程和内存使用情况。大多数时候我都会运行 5 个窗口:
- Chrome 浏览器
- Sublime Text 编辑器
- Nylas 邮件客户端
- Spotify
- 终端窗口
正如我所说的,我密切关注内存使用情况,当我注意到内存使用率 > 90% 时,我会不时重新启动,但经常会发生某个进程(主要是 Chrome)意外地承受一些压力,如果发生这种情况,我可以叹气,强制退出我的机器,然后重新启动它。
一天下来,内存使用量似乎越来越大,唯一能清除内存的方法就是重启。启动时,内存使用量通常为 40~45% (+- 3,5GiB)。此时,我在 chrome 中打开了 4 个选项卡,有一个终端窗口,后台有 Nylas 和 spotify,内存为 5.5GiB。我已经感觉到内存即将再次堵塞的紧张感。
Ubuntu 安装非常干净和新颖;开箱即用,内部没有进行任何疯狂的操作;只是以普通用户的身份使用它。
现在我不知道这是因为它在 MBP 上运行并且没有针对它进行优化,或者我可以调整操作系统以在其上更好地运行(即我似乎没有任何可用的交换),但我认为将内存使用率限制在 95% 是一个好主意,就像电池充电不超过 90% 一样;以防止达到 100%。
但我不是高级用户。我也不怕深入研究系统并调整一些东西(这就是我想使用 Ubuntu 的原因),但目前我不确定在哪里寻找解决方案,如果有的话。我读过关于在容器中启动某些进程(如浏览器)并将其限制为一定内存量的文章,但我也读到过这是一个“愚蠢的想法”,因为“它不起作用”。
那么我该怎么办?我读过这些 三 问题,但尚未得到令人满意的答案。
我目前的流程列表供参考:
编辑:根据 Duncans 的建议,以下是启动过程列表。据我所知,没有什么太奇怪的。
初始化列表
indicator-application start/running, process 1923
unicast-local-avahi stop/waiting
update-notifier-crash stop/waiting
upstart-udev-bridge start/running, process 1678
update-notifier-hp-firmware stop/waiting
xsession-init stop/waiting
dbus start/running, process 1687
no-pinentry-gnome3 stop/waiting
update-notifier-cds stop/waiting
gnome-keyring-ssh stop/waiting
gnome-session (Unity) start/running, process 1848
ssh-agent stop/waiting
unity7 start/running, process 1881
upstart-dbus-session-bridge start/running, process 1761
gpg-agent start/running
indicator-messages start/running, process 1884
logrotate stop/waiting
indicator-bluetooth start/running, process 1888
unity-panel-service start/running, process 1851
hud start/running, process 1839
im-config start/running
unity-gtk-module stop/waiting
session-migration stop/waiting
upstart-dbus-system-bridge start/running, process 1764
at-spi2-registryd stop/waiting
indicator-power start/running, process 1889
update-notifier-release stop/waiting
indicator-datetime start/running, process 1894
indicator-keyboard start/running, process 1895
unity-settings-daemon start/running, process 1841
indicator-sound start/running, process 1898
upstart-file-bridge start/running, process 1768
bamfdaemon start/running, process 1753
gnome-keyring stop/waiting
window-stack-bridge start/running, process 1699
indicator-printers start/running, process 1901
re-exec stop/waiting
upstart-event-bridge stop/waiting
unity-panel-service-lockscreen stop/waiting
indicator-session start/running, process 1902
在启动应用程序中仅运行 flux、GNOME 软件、Nylas、SSH Key Agent 和 StackStorage。