为什么我的计算机会因内存耗尽而挂起?

为什么我的计算机会因内存耗尽而挂起?

我的戴尔酷睿 2 双核电脑上安装了 3 GB 的 RAM。我面临的问题是,我的电脑占用了大量的 RAM 内存。电脑启动时就占用了 1 GB 的空间。此外,仅打开一个 Firefox 浏览器并打开 7*9 个标签,就占用了所有 3 GB 的 RAM。我没有发现问题,是我的电脑有问题还是操作系统的问题。顺便说一下,我使用的是 ubuntu 17.10,处理器是 Intel® Core™2 Duo CPU E7400 @ 2.80GHz × 2。

此图片链接显示了计算机启动后内存的状态

答案1

当所有 3GB RAM 都被使用时,问题在于内核会尝试通过将某些页面放入交换中来释放 RAM。如果您有硬盘,则意味着某些程序不需要读取和写入 RAM,而是需要内核将内容从交换中拉出,这很慢,尤其是在使用硬盘的情况下。如果您的交换分区太小,内核甚至可能会开始终止进程​​,作为保持系统稳定的最后尝试。我建议您执行以下操作:

创建更大的交换文件/分区,您可以使用以下方法执行此操作:

sudo fallocate -l 4G /swapfile; sudo mkswap /swapfile; sudo swapon /swapfile

减少 swappiness,你可以这样做

sudo sysctl vm.swappiness=10; sudo swapoff -a; sudo swapon -a

为了使其永久生效,请编辑 /etc/sysctl.conf:

sudo nano /etc/sysctl.conf

并添加

vm.swappiness=10

至底部。

较低的 swappiness 设置将告诉内核减少交换,这可能会稍微提高您的性能。如果您使用大量 RAM,增加的交换将使您的系统变慢一点,而不是完全崩溃。您还可以将您的操作系统更改为 Lubuntu 之类的操作系统,它专为低端计算机而设计。或者,您可以添加更多 RAM :)

注意:正如评论中提到的,创建交换文件的正确命令如下:

dd if=/dev/zero of=/swapfile bs=1048576 count=4096

mkswap喜欢fallocate

相关内容