对于依赖进程,Sysctl 内核启动参数的应用速度并不总是足够快。

对于依赖进程,Sysctl 内核启动参数的应用速度并不总是足够快。

我在 Chromebook 上的自定义 Chromium OS (cros) 内核上运行 Debian。Cros 内核默认禁用基于磁盘的交换文件(因为它更喜欢zram),要启用它,必须将sysctl变量vm.disk_based_swap设置为 1,否则挂载交换文件将失败。但是,在 /etc/sysctl.d 中添加vm.disk_based_swap=1文件.conf似乎只有大约一半的时间有效;其余时间交换挂载失败,即使可以验证启动后vm.disk_based_swap设置为 1,我猜想在这些情况下内核启动参数应用得不够快。基于这种特定场景,一般问题是如何确保在执行依赖进程之前设置内核启动参数,通过以下任一方式:

  • 通过任何可用方法将内核启动参数提升到足够的优先级(顺便说一句,sysctl.vm.disk_based_swap=1在 GRUB 中输入内核命令行不起作用)
  • 依赖过程可以通过任何可用方法充分延迟(systemd也许进行一些修补?)

相关内容