我的电脑有足够的内存(8GB),几乎没有被使用。在大多数情况下,我的桌面和应用程序会消耗 2-3GB,但另一方面,我没有 SSD。
我的系统是 64 位 Debian Wheezy。
我想知道是否有任何框架可以在每次启动时将常用文件(如 Thunderbird、Firefox、OpenOffice、VLC、Pidgin)复制到 ramdisk,以加快访问速度。
这显然可以通过在每次启动后使用 init shellscript 来实现,然后稍后为这些文件设置符号链接,但也许已经有一个完整的解决方案可以做到这一点......
问题2:
Linux 内核(3.14)是否有任何优化可以比普通内核更好地利用大量内存?如果是的话,那些是什么?
问题3:
在这种情况下,完全禁用交换分区是一个好主意,对吧?
谢谢
答案1
任何复制常用文件的框架
只需将它们放入 /dev/null 即可填充 VFS 缓存。但即使没有任何进一步的 I/O 或内存需求,这种情况也会降低。如果是我,我可能会考虑创建一个 tmpfs,然后使用包含要缓存的内容的存储设备文件系统创建一个 unionfs - 而不是搞乱符号链接(但您仍然需要填充它。
一个更简单的解决方案是使用 tmpfs 作为 bcache 设备。 (但请确保在启动过程中销毁并重建 bcache)。
问题 2:您可以采取一些措施来调整 VFS,但我怀疑它们不会产生太大影响。
问题 3:绝对不是 - 如果您在电源周期之间保留缓存,您将获得最佳的使用效果 - 即使用休眠到磁盘而不是关闭/重新启动 - 并且这(通常)使用交换。
答案2
Linux 有不同的预读程序,可以预取磁盘内存。它们被称为例如readahead-fedora
和preload
。
它也systemd-readahead
适用于基于 systemd 的 init 系统,但在更新的版本中再次被删除。
答案3
在这种情况下,完全禁用交换分区是一个好主意,对吧?
是的,您可以将交换区从 HDD/SDD 移至 RAM。最新的 Linux 内核内部包含 ZRAM 模块,因此您可以使用 RAM 中的交换区。这将为您带来更快的交换操作速度,但有时会增加 CPU 负载。
您可以在以下位置阅读相关内容:https://wiki.debian.org/ZRam