安装程序如何计算要创建多大的交换分区?可能是基于已安装的RAM大小,但这是否取决于RAM的数量?
dphys-swapfile
,这里是源代码。选项 setup
用于设置它:setup - 告诉 dphys-swapfile 计算最佳的交换文件大小并生成一个合适的交换文件。默认为内存大小的2倍。 可以在启动时调用此命令,以便文件始终保持适合当前内存的正确大小,或者在内存大小发生变化时手动运行。
dphys-swapfile
内部有一个名为 conf_swapsize
的设置,用于预定义大小(在 Natty 中为空):我们想要强制设置的大小,默认情况下(空)为2倍内存 CONF_SWAPSIZE=
还有一个名为 swapfactor
的设置...
this is what we want, 2 times RAM size
SWAPFACTOR=2
1 1 1 free
$iflabel{ gpt }
method{ biosgrub } .
500 10000 -1 $default_filesystem
$lvmok{ }
method{ format }
format{ }
mountpoint{ / } .
96 512 300% linux-swap
$lvmok{ }
method{ swap }
format{ } .
for(i=1;i<=N;i++) {
factor[i] = priority[i] - min[i];
}
ready = FALSE;
while (! ready) {
minsum = min[1] + min[2] + ... + min[N];
factsum = factor[1] + factor[2] + ... + factor[N];
ready = TRUE;
for(i=1;i<=N;i++) {
x = min[i] + (free_space - minsum) * factor[i] / factsum;
if (x > max[i])
x = max[i];
if (x != min[i]) {
ready = FALSE;
min[i] = x;
}
}
}
更多信息请参见:
dphys-swapfile
,但在各种partman
文件中找到了与交换和配方相关的引用,所以现在我倾向于给你点赞,尽管我无法完全理解其背后的机制。你得到了我的支持。 - enzotib