AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 793702
Accepted
Daniel T
Daniel T
Asked: 2025-04-14 06:44:54 +0800 CST2025-04-14 06:44:54 +0800 CST 2025-04-14 06:44:54 +0800 CST

如何优先驱逐 SSD 页面缓存而不是速度较慢的 HDD?

  • 772

我有一块大容量、慢速的 HDD 和一块小容量、快速的 SSD。这关乎读取操作,而非RAID。我的电脑在 SSD 上加载(重新/卸载)了超过 12 GiB 的 Linux 内核构建树和总共 39 GiB 的不同 LLM 文件后,切换回 Firefox 或查看手册页时,桌面几乎卡死,而我的内存只有 31 GiB:

$ free -h
               total        used        free      shared  buff/cache   available
Mem:            31Gi        10Gi       2.4Gi       1.0Gi        19Gi        20Gi
Swap:             0B          0B          0B
$ lsblk
NAME                  MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda                     8:0    0   1.8T  0 disk  
├─sda1                  8:1    0   512M  0 part  /boot/efi
├─sda2                  8:2    0   1.7G  0 part  /boot
└─sda3                  8:3    0   1.8T  0 part  
  └─sda3_crypt        254:0    0   1.8T  0 crypt 
    ├─vgubuntu-root   254:1    0   1.8T  0 lvm   /
    └─vgubuntu-swap_1 254:2    0   1.9G  0 lvm   
nvme0n1               259:0    0 953.9G  0 disk  
└─nvme0n1p1           259:1    0   100G  0 part  
  └─luks-...          254:3    0   100G  0 crypt /media/...
$ sysctl vm.swappiness
vm.swappiness = 60

SSD 速度很快,所以我宁愿 Linux 先清除 SSD 的页面缓存文件。反正它的非缓存读取时间也得几秒。应该停止的是清除/usr或下的任何文件/home。我的man bash和dpkg -S bin/bash会立即从页面缓存中返回,但如果没有缓存,它们在退出 LLM 后需要半分钟才能返回。更严重的是,Firefox 需要我的~/.mozilla文件夹来保存历史记录和缓存;如果没有缓存,等待地址栏显示需要几分钟。

我正在寻找一个配置选项。systemd-run可以设置 MemoryMax 为ktorrent,但我经常重启llama-server以在大约 6 GiB 的 LLM 之间切换,而且我不希望使用单独的守护进程来保持 cgroup 处于活动状态。一旦我解决了担忧,将我的 迁移到 SSD 后,man和 的dpkg问题将得到解决;与此同时,会导致可用内存不足,并且过于复杂。LLM 工作负载可以(但不应该)重新挂载 SSD 作为解决方法。这使得d 内核构建工作负载仍然会清除我的 Web 浏览器缓存。/fscrypt/usrtmpfsoverlayfsnice

我查看了相关/sys/block配置,但没找到合适的。Cgroups v2有针对每个设备的选项,但仅适用于并行写入工作负载(io.max),而无法控制顺序工作负载如何影响缓存。2011年的补丁和2023 年的问题都没有找到任何用户空间接口。哪个设置可以强制 SSD 的页面缓存先于 HDD 的页面缓存被清除?

linux
  • 1 1 个回答
  • 39 Views

1 个回答

  • Voted
  1. Best Answer
    grawity
    2025-04-14T22:07:02+08:002025-04-14T22:07:02+08:00

    运行程序nocache可能会有所帮助。它并不适用于所有程序(因为必须连接到glibc内部),但对某些程序有帮助。

    或者,vmtouch在 llama-server 退出后,在加载新模型文件之前,手动删除之前的模型文件。

    • 2

相关问题

  • 有没有办法让 ls 只显示某些目录的隐藏文件?

  • 使用键盘快捷键启动/停止 systemd 服务 [关闭]

  • 需要一些系统调用

  • astyle 不会更改源文件格式

  • 通过标签将根文件系统传递给linux内核

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve