有时,我要处理大量的数据转储,我想保留在内存中进行处理。有时我会错误地计算程序将产生的内存量,或者调试器将内存使用量乘以超出可用内存的倍数。
每当我启动一个需要大量内存的进程时,这都是我对健全的操作系统的期望:尝试吃掉所有可用内存,然后很好地请求其他一些非必需进程放弃一些不需要的内存,然后写交换。
这就是Ubuntu为我做的事情:吃掉所有的内存,然后要求操作系统交换所有基本服务(gnome会话,终端,键盘),然后冻结并等待我拔下电源插头。
两个问题:
- 操作系统如何假设任何重要的事情都如此重要,以至于可以停止监听用户输入了?
- 我该如何告诉Ubuntu不要交换必要的服务,并且始终对用户输入做出反应,即使某些愚蠢的进程试图吞噬系统提供的资源以外的资源。
swappiness
设置更改为10,即:vm.swappiness = 10
/etc/sysctl.conf中。在此处搜索swappiness以获取有关它的更多信息。2)如果swappiness没有帮助...即使您可能不想...将交换文件的大小增加到1.5x16G,看看是否有帮助。让我发布。干杯,铝
vm.swappiness=10
需要添加到sysctl.conf中。有经验的人甚至可以即时使用sysctl命令来设置vm.swappiness = 10,而无需编辑sysctl.conf文件。干杯,Al ps:等待OP回应。
swapon
以进行查找)?干杯,铝