(Grav GitSync) Automatic Commit from RealStickman

This commit is contained in:
RealStickman 2022-06-06 20:37:46 +02:00 committed by GitSync
parent 9693844af9
commit 3c13871f6c

View File

@ -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)`