Zum Inhalt springen

CachyOS Settings

Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.

Alongside our optimized kernels and repositories, we also provide settings that further improve the desktop experience. We also bundle in some helper scripts to for QoL improvements. All these configurations and scripts are under the cachyos-settings package.

sysctl Tweaks

We provide a lot of sysctl tweaks that aims to improve overall desktop performance. Each sysctl entry is well documented in the file 99-cachyos-settings.conf

To make changes to any of these values, copy the original entry and make a new file under /etc/sysctl.d/ for the modified value.

Modifying sysctl values

  1. Take a look at the original value from cachyos-settings

    Terminal window
    cat /usr/lib/sysctl.d/99-cachyos-settings.conf
    # Only experimental!
    # Let Realtime tasks run as long they need
    # sched: RT throttling activated
    kernel.sched_rt_runtime_us=-1
  2. Make a new file in /etc/sysctl.d to make changes to the sysctl settings

    Reverting kernel.sched_rt_runtime_us= to its default value
    sudo micro /etc/sysctl.d/99-kernel-sched-rt.conf # If the file doesn't exist, this command creates and lets you edit the file
    kernel.sched_rt_runtime_us=950000

udev Rules

  • ZRAM Rules - Sets ZRAM swappiness to a more aggressive value so cache is more likely to swap to ZRAM
  • HPET Permissions - Allows access to rtc0 and hpet device nodes by the audio group.
  • SATA Power Management - Sets power management policy of SATA devices to max_performance
  • I/O Scheduler Rules - Selects the optimal scheduler for each drive type (HDD, SSD, NVMe)
  • hdparm Rules - Sets SATA and IDE HDDs to maximum performance
  • NVIDIA RTD3 - Configures dynamic power management functionality for the Turing GPU generation. RTD3 does not work properly on Turing GPUs with the open modules
  • CPU DMA Latency - Allows access to the cpu_dma_latency device node by the audio group.
  • NTSync - Allows ntsync to be accessed by user-space applications

modprobe Options

  • Forces AMDGPU driver on Southern Islands (GCN 1.0) and Sea Islands (GCN 2.0)
  • Enable various tweaks for NVIDIA
  • Blacklist watchdog modules

Helper Scripts

  • amdpstate-guided - Sets the amd-pstate scaling driver to guided and switches the CPU governor to schedutil

  • cachyos-bugreport.sh - Collects various logs from inxi, dmesg and journalctl to aid in troubleshooting

  • game-performance - Wrapper script for powerprofilesctl to switch to performance profile on-demand. See Power Profile Switching On Demand

  • kerver - QoL script to show information about the current kernel

  • ksmctl - Utility to enable merging same memory pages into one to decrease memory usage at the cost of some CPU overhead. Don’t expect huge savings

    Terminal window
    sudo ksmctl --enable
  • ksmstats - Shows general savings from Kernel Samepage Merging

  • paste-cachyos - Script to paste terminal output for text files from the system

    Terminal window
    paste-cachyos /path/to/file
  • pci-latency

    Enabling pci-latency systemwide
    sudo systemctl enable --now pci-latency.service
  • sbctl-batch-sign - Helper script to easily sign kernel images and EFI binaries for secure boot and saves them to sbctl’s database

  • topmem - Shows RAM & swap & ksm stats of 10 processes in a descending order.

Other configurations

Memory Usage Tweaks

  • Disable Zswap
  • THP Shrinker configuration (max_ptes_none = 409)
  • Set maximum size to 50MB for the systemd journal
  • Set Transparent Hugepage Defrag to defer+madvise
  • ZRAM Generator - Sets ZRAM to the same size as RAM and use ZSTD for compression

Ananicy-cpp Rules

Network Modifications

RTC

  • Increase highest requested RTC interrupt frequency to 3072

NTP QoL

  • Preferred server set to Cloudflare
  • Fallback servers > Google and Arch Linux

systemd Services Tweaks

  • Timeout for starting a service/unit set to 15s
  • Timeout for stopping a service/unit set to 10s
  • Soft limit for opened file descriptors set to 2048
  • Hard limit for opened file descriptors set to 2097152