简介
Preload是由Behdad Esfahbod编写的程序,它作为一个守护进程运行,并使用马尔可夫链统计程序的使用情况;在计算机空闲时,使用频率较高的程序的文件会加载到内存中。这会加快程序的启动时间,因为需要从磁盘读取的数据更少。
安装
- 终端执行以下命令安装 Preload:
sudo apt install preload
- 安装好之后,Preload 会作为一个守护进程在后台自动运行。
sudo systemctl status preload.service
- 根据你的需要,编辑
/etc/preload.conf
配置文件来调整设置,如预加载应用列表等。
sudo nano /etc/preload.conf
如果你使用固态硬盘可修改sortstrategy = 0,机械硬盘不用调整,使用默认值3。
- 修改完配置重启服务
sudo systemctl restart preload.service
说明:
sortstrategy 配置项在 preload 中的作用是确定预加载操作时使用的 I/O 排序策略。不同的排序策略可以优化预加载过程,以更好地适应不同类型的存储设备和文件系统。以下是各个选项的具体解释:
0 -- SORT_NONE: 不对 I/O 请求进行排序。这种策略对于闪存(如 SSD)可能比较合适,因为这些设备的读取速度通常不受请求顺序的影响。
1 -- SORT_PATH: 仅根据文件路径进行排序。这对于网络文件系统(NFS)可能是最有效的,因为它能确保来自同一目录或子树的请求被一起处理,减少网络延迟。
2 -- SORT_INODE: 根据 inode 号进行排序。这种方式需要较少的整理 I/O 操作,适用于那些不需要特别精确地按磁盘块位置排序的情况。
3 -- SORT_BLOCK: 基于磁盘块对 I/O 进行排序。这是最复杂的策略,也是对大多数 Linux 文件系统最有用的一种。它尝试按照数据在磁盘上的物理位置来组织 I/O 请求,以提高读取效率。对于传统的旋转式硬盘驱动器 (HDD),这种排序尤其重要,因为它们的访问时间与磁头移动距离有关。
默认情况下,sortstrategy 设置为 3,即基于磁盘块的排序 (SORT_BLOCK)。这是因为在大多数情况下,尤其是使用传统 HDD 时,这种排序方式能够提供最佳性能。