From 3c13871f6cd1f4a7183c368906102c668ae49fe5 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 6 Jun 2022 20:37:46 +0200 Subject: [PATCH] (Grav GitSync) Automatic Commit from RealStickman --- .../24.overclocking-in-linux/default.en.md | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 pages/02.linux/24.overclocking-in-linux/default.en.md diff --git a/pages/02.linux/24.overclocking-in-linux/default.en.md b/pages/02.linux/24.overclocking-in-linux/default.en.md new file mode 100644 index 0000000..7d73fcb --- /dev/null +++ b/pages/02.linux/24.overclocking-in-linux/default.en.md @@ -0,0 +1,88 @@ +--- +title: 'Overclocking in Linux' +--- + +[toc] +## Overclocking +### CPU +*TODO* I have not yet checked for system-tools for overclocking + +### GPU +#### AMD +[CoreCtrl](https://gitlab.com/corectrl/corectrl) allows the manipulation of GPU frequency, voltages, power and the fancurve. + +*TODO* installation hints + +### RAM +*I'm unaware of any platform supporting online-editing of RAM timings* + +## Monitoring +### Sensors +The `lm_sensors` package shows temperatures, fan pwm and other sensors for your CPU, GPU and motherboard. +Run `$ sensors` to get the output. + +#### Support for motherboard ITE LPC chips +Support for this type of chip does not come built in to `lm_sensors`. +In the AUR the package `it87-dkms-git` provides a kernel module with support for a variety of ITE chips. It pulls from [this](https://github.com/frankcrawford/it87) git repo. You can find a list of supported chips there. See [this issue on lm_sensors git repo](https://github.com/lm-sensors/lm-sensors/issues/134) for background info. + +The kernel driver can be automatically loaded on boot by putting `it87` into `/etc/modules-load.d/(filename).conf` +The option `acpi_enforce_resources=lax` also needs to be added to `GRUB_CMDLINE_LINUX_DEFAULT` in `/etc/default/grub` or your bootloader equivalent. + +### CoreFreq +[CoreFreq](https://github.com/cyring/CoreFreq) can display a lot of information about the CPU and the memory controller. + +To run, the systemd service `corefreqd` needs to be enabled. +CoreFreq also depends on a kernel driver. Simply put `corefreqk` into `/etc/modules-load.d/(filename).conf` to load it automatically on boot. + +Access the TUI using `$ corefreq-cli` + +A few interesting views: +`Shift + C` shows per thread frequency, voltage and power, as well as overall power and temperature. +`Shift + M` shows the memory timings, frequency and DIMM layout. + +### CoreCtrl +CoreCtrl displays a range of information for AMD GPUs. + +### Error monitoring +Some applications have hardware error reporting built-in. +#### Kernel log +For others, try checking the kernel log. +`$ journalctl -k --grep=mce` + +#### Rasdaemon +You can also install `aur/rasdaemon` and enable its two services. +`# systemctl enable --now ras-mc-ctl.service` +`# systemctl enable --now rasdaemon.service` + +`$ ras-mc-ctl --summary` shows all historic errors +`$ ras-mc-ctl --error-count` shows memory errors of the current session + +## Testing +> [More Testing Tools can be found on the ArchWiki](https://wiki.archlinux.org/title/Stress_testing?useskinversion=1) + +### CPU +#### Prime95/Mprime +`$ mprime` +Select "No" when asked to join the distributed computing project +`16` for torture testing +Recommended test: `2` + +This application includes hardware error checking. Output to the CLI as well as the logfile. +Check the file `results.txt` + +#### ffmpeg video encoding +This command encodes random noise with x265 and discards the resulting video +`$ ffmpeg -y -f rawvideo -video_size 1920x1080 -pixel_format yuv420p -framerate 60 -i /dev/urandom -c:v libx265 -preset placebo -f matroska /dev/null` +> [ArchWiki Source](https://wiki.archlinux.org/title/Stress_testing?useskinversion=1#Video_encoding) + +#### Stress +Stress is capable of testing CPU, memory, I/O and disks +Use `$ stress -c (threads)` to test the CPU + +### GPU +*TODO* + +### RAM +#### Stressapptest +**NOTE**: Produces heavy load on the CPU as well. A stable CPU OC before running this is recommended. +`$ stressapptest -M (RAM MiB) -s (time in s) -m (CPU threads)` \ No newline at end of file