小编Ben*_*ela的帖子

防止由于交换失控内存使用而导致系统冻结/无响应

如果一个进程需要大量内存,系统会将所有其他进程移动到交换文件中。似乎包括必要的进程,如 X11 服务器或终端。

因此,如果一个进程继续无限制地分配,一切都会变得无响应,直到该进程被 OOM 杀手杀死。我的笔记本电脑似乎特别灵敏,反应非常糟糕。我只是花了整整一个小时等待进程终止,在此期间甚至无法移动鼠标光标。

如何避免这种情况?

1)禁用交换=>我经常启动很多然后变得不活动的进程。不活动的应该移到交换区。

2) 买个 SSD => 太贵了

3) 设置最大内存 ulimit => 但如果程序需要合理的大量内存,它就会失败。问题不是它使用太多,而是它抑制了其他进程

4) 将重要的程序(X11、bash、kill、top 等)保存在内存中并且永远不要交换那些 => 可以这样做吗?如何?也许只交换大程序?

5) ?

memory linux swap oom

66
推荐指数
1
解决办法
3万
查看次数

标签 统计

linux ×1

memory ×1

oom ×1

swap ×1