GitHub
logo SHORiNのARCH
性能优化

性能优化

目录


N卡动态功耗调节

sudo systemctl enable --now nvidia-powerd.service

LACT进行显卡offset

使用软件商城安装的 lact 即可。

交换空间和zram

参考资料:

Zram vs zswap vs swap? : r/archlinux | Zswap vs zram in 2023, what's the actual practical difference? : r/linux | linux - ZRAM vs ZSWAP for lower end hardware? - Super User

简单来说,硬盘 swap 交换空间会频繁的读写硬盘,导致硬盘寿命下降。故使用内存作为交换空间。有两种方法,zswap 和 zram。

zswap 依托于 swap 运行,是硬盘 swap 的缓存,还是会有硬盘读写,虽然可以关闭 zswap 的写回,但 zram 更加优雅、简洁。

zram 是把内存的一部分动态地作为 swap 交换空间,和硬盘 swap 一样都是 swap 设备。zram 占满前完全不会有硬盘 swap 的读写。

CachyOS已默认启用zram,无需再手动设置zram,建议保持CachyOS的默认设置

不需要睡眠的话删除硬盘swap后开启zram

  1. 关闭 swap

    sudo swapoff /swap/swapfile
    
  2. 删除 swap 文件

    sudo rm /swap/swapfile
    
  3. 编辑 fstab

    sudo vim /etc/fstab
    

注释掉 swap 相关的内容。

zram内存压缩

  1. 安装 zram-generator

    sudo pacman -S zram-generator
    
  2. 编辑配置文件

    sudo vim  /etc/systemd/zram-generator.conf
    
    [zram0]
    zram-size = ram
    compression-algorithm = zstd
    

    zram-size 设置最多存储多少数据,注意这里设置的是压缩之前的大小。

    compression-algorithm 这一行设置使用 zstd 算法。

  3. 禁用 zswap

    sudo vim /etc/default/grub
    
    # 在 GRUB_CMDLINE_LINUX_DEFAULT="" 里写入 zswap.enabled=0
    
    GRUB_CMDLINE_LINUX_DEFAULT="... zswap.enabled=0 ... "
    
  4. 重新生成 GRUB 的配置文件

    sudo grub-mkconfig -o /efi/grub/grub.cfg
    
  5. reboot

  6. 验证 zswap 是否关闭

    sudo grep -R . /sys/kernel/debug/zswap/
    
  7. 验证 zram 是否开启

    sudo zramctl
    或者
    swapon
    

安装zen内核

ps:会导致功耗略微增加。

  1. 安装内核和头文件

    sudo pacman -S linux-zen linux-zen-headers
    
  2. 可选:安装 DKMS 显卡驱动

    如果你是 N 卡且之前安装的是 nvidia-open 而不是 -dkms 后缀的驱动包的话需要换成 -dkms 后缀的驱动包。

    sudo pacman -S nvidia-open-dkms
    
  3. 重新生成 GRUB

    sudo grub-mkconfig -o /boot/grub/grub.cfg
    
  4. 重启

    reboot
    

    第一次启动时可能要在 GRUB 的 Arch advance 启动项里选择 zen 内核的启动项。

下一节:小技巧