与这篇文章Regular crash / freeze Ubuntu 16.04 LTS Unity类似,我在 PC 上的主要 Xubuntu 16.04 LTS (xfce) - 请参阅下面的规范 - 具有 2GB 内存的情况下会崩溃一次。PC 运行浏览器和办公室,标准英特尔板载显卡,没什么特别的。它运行良好数周,然后发生相隔几天。去年我至少有 15 次,我认为这太多了,因为恕我直言,它有很高的数据损坏风险。
我可以看到它的到来,它总是在我并行运行 TOR 和 Firefox 时发生。但是当我看到它时,已经为时已晚。有时鼠标会很快冻结,我看到面板中的内存指示器已跃升至 90%。在我做很多事情之前,冻结加剧(通常超过 30 秒)。电脑太忙了,无法关闭任何窗口,调出任何工具,甚至无法登录控制台。我有时设法在 CTRL-ALT-F1 和 -F7 之间切换,但登录速度太慢了,甚至在它要求输入密码之前就超时了。我已经离开它几个小时,但它从未恢复过。我已经检查了几次日志,但无法从他们那里得到提示。但是,在那种情况下,我不会相信日志,因为它们也会受到影响。
到目前为止,唯一的反应方法是硬重启 PC,因此存在数据丢失的风险。
我不知道它的根本原因是什么。我无法重现它。目前我的工作假设是系统被困在一些缓存循环中。其他帖子向我展示了类似的问题。他们试图找出后来发生的事情。
那不是我想做的。我不想等到它再次发生并开始在这里发布大量日志。我宁愿设置 PC,以便在它再次发生时我可以让它保持活动状态,并且我可以访问控制台来缩小问题的范围。有人可以说我需要帮助来帮助我自己。
所以这是我的具体问题:假设我看到由 2 个并行浏览器引起的内存缓存问题,我该如何配置/设置其内部工作受到保护的系统。?换句话说,下次发生这种情况时,我有一个工作文本模式控制台,在这两个应用程序运行严重破坏之后?
我正在考虑可以为特定应用程序指定最大内存使用量,因此应用程序会冻结,但不会冻结系统。显然,我正在寻找其他可以在 VM 中运行这两个应用程序的方法。
我不指望一步一步的说明、关键字或链接来寻找会有很大帮助。
希望足够清楚我需要什么。
谢谢你的帮助。
PS:我不希望它与我特定的 Ubuntu 风格有关,Xubuntu。
参考帖子
电脑规格
4.4.0-87-generic #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
~$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 2
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 28
Model name: Intel(R) Atom(TM) CPU D410 @ 1.66GHz
Stepping: 10
CPU MHz: 1666.583
BogoMIPS: 3333.16
L1d cache: 24K
L1i cache: 32K
L2 cache: 512K
NUMA node0 CPU(s): 0,1
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts nopl aperfmperf pni dtes64 monitor ds_cpl tm2 ssse3 cx16 xtpr pdcm movbe lahf_lm dtherm
您也许可以使用控制组 (cgroups) 来限制内存使用。它们是 Linux 内核功能,允许您通过将进程放置在特定 cgroup 中来限制进程的资源使用(包括内存)。Arch Linux 网站以及Ubuntu 服务器指南上的一些文档可能会有所帮助。
使用 2G RAM 和 1G 交换空间,这种行为是可以预料的。将交换空间增加到 4G 最小值,或者两者都做……增加 RAM 并增加交换空间。
您可能还希望研究该
vm.swappiness
参数,因为您可以对其进行调整以影响何时/如何发生交换。您可以在 AU 上或通过 Google 搜索找到大量信息。