我刚刚在 Linux 上阅读了一些关于 swappiness 的东西。我不明白为什么默认设置为 60。
根据我的说法,这个参数应该设置为 10 以减少交换。交换在我的硬盘上,所以它比我的记忆慢得多。
他们为什么要这样配置内核?
我在网上看到一些帖子,显然有人抱怨托管 VPS 意外杀死进程,因为他们使用了过多的 RAM。
这怎么可能?我认为所有现代操作系统都通过对物理 RAM 上的任何内容使用磁盘交换来提供“无限 RAM”。这样对吗?
如果一个进程“由于内存不足而被杀死”,可能会发生什么?
我正在为我的/tmp目录使用 tmpfs 。/tmp在换出应用程序正在使用的任何内容之前,如何让计算机决定换出里面的文件?
基本上,/tmp与进程使用的内存相比,里面的文件应该具有更高的交换率。
似乎这个答案https://unix.stackexchange.com/a/90337/56970很有道理,但你不能改变单个目录的 swappiness。虽然我知道 cgroups,但我没有看到任何将 tmp 变成 cgroup 的方法?
我有一台带有 Intel(R) Atom(TM) CPU D525 和 1 GB 内存的服务器。我注意到服务器大约每 7 天就会关闭并自动重启一次。
我查看了内存使用情况,发现当内存使用率达到90%时,内核会重新启动。当我检查内核登录/var/log/messages文件时,我没有发现任何有关内核关闭的信息,只是一条有关内核启动的消息。我检查了文件/proc/sys/vm/min_free_kbytes,值为“3765”。
我猜当可用内存非常低,但没有达到系统开始回收内存的数量时。然后内核不能做任何事情,所以它然后重新启动。
你能给我一些见解吗?