Can I boost performance and bring down noise levels?

I have the following specs (as printed by inxi -Fza) in a be quiet! case, and it is less than quiet, while also feeling kind of slow occasionally when I read from the NVMe, not the HDDs (e.g. launching Firefox after a long time of no use).

If it is something to do with the case (e.g. has it been reported as a noisy be quiet case?), I know it does not belong to the manjaro forums. But could it be that I have some misconfiguration that is causing the computer to not perform as it could?

System:
  Kernel: 5.10.181-2-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.1.1
    parameters: BOOT_IMAGE=/boot/vmlinuz-5.10-x86_64
    root=UUID=6e59b71c-19c3-424e-b55e-57b8ec0bcbf4 rw quiet apparmor=1
    security=apparmor resume=UUID=5fa2bbe3-89dc-47fa-93be-6df40354747b
    udev.log_priority=3
  Desktop: i3 v: 4.22 info: i3bar vt: 7 dm: LightDM v: 1.32.0
    Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Desktop Mobo: Gigabyte model: B550 AORUS PRO V2 v: x.x
    serial: <superuser required> BIOS: American Megatrends v: F2
    date: 08/20/2020
CPU:
  Info: model: AMD Ryzen 7 3700X bits: 64 type: MT MCP arch: Zen 2 gen: 3
    level: v3 note: check built: 2020-22 process: TSMC n7 (7nm)
    family: 0x17 (23) model-id: 0x71 (113) stepping: 0 microcode: 0x8701021
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
    L3: 32 MiB desc: 2x16 MiB
  Speed (MHz): avg: 2216 high: 2879
    min/max: 2200/5224:4957:5091:4823:4690:4426:4560 boost: enabled scaling:
    driver: acpi-cpufreq governor: schedutil cores: 1: 2031 2: 2107 3: 1869
    4: 2879 5: 2195 6: 2196 7: 2196 8: 2195 9: 2131 10: 2165 11: 2060 12: 2717
    13: 2129 14: 2198 15: 2199 16: 2196 bogomips: 115029
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities:
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: retbleed mitigation: untrained return thunk; SMT enabled with STIBP
    protection
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl and seccomp
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Retpolines, IBPB: conditional, STIBP:
    always-on, RSB filling, PBRSB-eIBRS: Not affected
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: NVIDIA TU116 [GeForce GTX 1660 SUPER] vendor: Gigabyte
    driver: nouveau v: kernel non-free: 530.xx+ status: current (as of 2023-05)
    arch: Turing code: TUxxx process: TSMC 12nm FF built: 2018-22 pcie: gen: 1
    speed: 2.5 GT/s lanes: 4 link-max: gen: 3 speed: 8 GT/s lanes: 16 ports:
    active: DP-2,HDMI-A-1 empty: DP-1,DP-3 bus-ID: 04:00.0 chip-ID: 10de:21c4
    class-ID: 0300
  Device-2: Logitech Webcam C270 driver: snd-usb-audio,uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 5-1:2 chip-ID: 046d:0825
    class-ID: 0102 serial: <filter>
  Display: x11 server: X.Org v: 21.1.8 compositor: Picom v: git-b700a
    driver: X: loaded: modesetting alternate: fbdev,vesa dri: nouveau
    gpu: nouveau display-ID: :0 screens: 1
  Screen-1: 0 s-res: 3840x1349 s-dpi: 96 s-size: 1013x355mm (39.88x13.98")
    s-diag: 1073mm (42.26")
  Monitor-1: DP-2 pos: top-left model: Dell U2312HM serial: <filter>
    built: 2012 res: 1920x1080 hz: 60 dpi: 96 gamma: 1.2
    size: 510x287mm (20.08x11.3") diag: 585mm (23") ratio: 16:9 modes:
    max: 1920x1080 min: 720x400
  Monitor-2: HDMI-A-1 mapped: HDMI-1 pos: primary,bottom-r
    model: Samsung C24F390 serial: <filter> built: 2021 res: 1920x1080 hz: 60
    dpi: 94 gamma: 1.2 size: 521x293mm (20.51x11.54") diag: 598mm (23.5")
    ratio: 16:9 modes: max: 1920x1080 min: 720x400
  API: OpenGL v: 4.3 Mesa 23.0.4 renderer: NV168 direct-render: Yes
Audio:
  Device-1: NVIDIA TU116 High Definition Audio vendor: Gigabyte
    driver: snd_hda_intel v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 4
    link-max: gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 04:00.1
    chip-ID: 10de:1aeb class-ID: 0403
  Device-2: AMD Starship/Matisse HD Audio vendor: Gigabyte
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 0a:00.4 chip-ID: 1022:1487 class-ID: 0403
  Device-3: Logitech Webcam C270 driver: snd-usb-audio,uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 5-1:2 chip-ID: 046d:0825
    class-ID: 0102 serial: <filter>
  API: ALSA v: k5.10.181-2-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 0.3.70 status: off tools: pw-cli
  Server-3: PulseAudio v: 16.1 status: active tools: pacat,pactl
Network:
  Device-1: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel pcie: gen: 2
    speed: 5 GT/s lanes: 1 bus-ID: 05:00.0 chip-ID: 8086:2723 class-ID: 0280
  IF: wlp5s0 state: up mac: <filter>
  Device-2: Realtek RTL8125 2.5GbE vendor: Gigabyte driver: r8169 v: kernel
    pcie: gen: 2 speed: 5 GT/s lanes: 1 port: e000 bus-ID: 07:00.0
    chip-ID: 10ec:8125 class-ID: 0200
  IF: eno1 state: down mac: <filter>
  IF-ID-1: br-9b1d82742d0f state: down mac: <filter>
  IF-ID-2: docker0 state: down mac: <filter>
Bluetooth:
  Device-1: Intel AX200 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-10.2:7 chip-ID: 8087:0029
    class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 1 state: up address: see --recommends
Drives:
  Local Storage: total: 1.14 TiB used: 815.9 GiB (69.7%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
    model: MZVLB256HAHQ-00000 size: 238.47 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: EXD7201Q temp: 40.9 C scheme: MBR
  ID-2: /dev/sda maj-min: 8:0 vendor: Western Digital
    model: WD5000AAKS-00V1A0 size: 465.76 GiB block-size: physical: 512 B
    logical: 512 B speed: 3.0 Gb/s tech: N/A serial: <filter> fw-rev: 1D05
    scheme: MBR
  ID-3: /dev/sdb maj-min: 8:16 vendor: Western Digital
    model: WD5000AAKS-00V1A0 size: 465.76 GiB block-size: physical: 512 B
    logical: 512 B speed: 3.0 Gb/s tech: N/A serial: <filter> fw-rev: 1D05
    scheme: MBR
Partition:
  ID-1: / raw-size: 203.99 GiB size: 199.73 GiB (97.91%)
    used: 186.02 GiB (93.1%) fs: ext4 dev: /dev/nvme0n1p1 maj-min: 259:1
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default)
  ID-1: swap-1 type: partition size: 34.48 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/nvme0n1p2 maj-min: 259:2
Sensors:
  System Temperatures: cpu: 66.1 C mobo: N/A gpu: nouveau temp: 47.0 C
  Fan Speeds (RPM): N/A gpu: nouveau fan: 787
Info:
  Processes: 394 Uptime: 21m wakeups: 0 Memory: available: 31.34 GiB
  used: 4.71 GiB (15.0%) Init: systemd v: 253 default: graphical
  tool: systemctl Compilers: gcc: 13.1.1 clang: 15.0.7 Packages: pm: pacman
  pkgs: 1977 libs: 482 tools: pamac,yay Shell: Bash v: 5.1.16
  running-in: urxvtd inxi: 3.3.27

How can I troubleshoot this and get to the bottom of this?

Definitely go for a newer kernel … 5.15 LTS at the very least … but probably 6+

Hopefully you have a newer BIOS update available.

The proprietary driver will almost certainly perform better

You can probably lower this

And this

You need to clean up… try to aim for 20% free. But 10% should be considered the minimum.
(you currently only have 6.9% free)

1 Like

https://wiki.archlinux.org/title/Sensors

check that your sensors get detected

use the propietary nvidia driver and throw nouveau away. this nouveau driver isn’t designed to drive your more modern gpu in a proper way. nouveau is garbage.

you owe 32 GB RAM ! i doubt that you need additional swap. use you RAM.
https://wiki.archlinux.org/title/Swap

Hey @Olli try putting multiple comments in a single post :wink:
If needed you can break sections using </br>

1 Like

Hi and thanks for the input.

I upgraded the Kernel to 6.4.0-1-MANJARO and so far it all works fine.

I freed enough disk space. I found myself some 50G that was not needed or could be migrated to an HDD, and now I see approx. 25% free storage for the / partition.

I tweaked the BIOS settings for the CPU and the System Fans to perform on Speed Control: SILENT with Control Mode of PWM. They used to be on Normal mode with Control Mode: Auto (which probably was PWM behind the scenes anyway). That immediately brought down the fans noise significantly, however there’s not much need for the fans in the BIOS menu anyway. Now as I am typing this on Chrome, I doubt there has been any significant change whatsoever.

I did not check for a BIOS update yet, but it is in my to-do list if all else fails.

I experimented with swappiness=10, but left the vfs_cache_pressure to 100 for the time being. I am working on how to make swappiness=10 permanent now. I can’t remember if I had tweaked that before, and should edit the same configuration again, or if I had not edited it, and should proceed with introducing a new config file in /etc/sysctl.d

Lastly, I am trying to switch from the nouveau to the proprietary driver, but I am getting this error:

Using config ā€˜video-nvidia’ for device: 0000:04:00.0 (0300:10de:21c4) Display controller nVidia Corporation TU116 [GeForce GTX 1660 SUPER]
Installing video-nvidia…
Sourcing /etc/mhwd-x86_64.conf
Has lib32 support: true
Sourcing /var/lib/mhwd/db/pci/graphic_drivers/nvidia/MHWDCONFIG
Processing classid: 0300
Sourcing /var/lib/mhwd/scripts/include/0300
Processing classid: 0302
:: Synchronizing package databases…
core downloading…
extra downloading…
community downloading…
multilib downloading…
warning: libxnvctrl-530.41.03-3 is up to date – skipping
error: target not found: linux59-nvidia
error: target not found: linux64-nvidia
Error: pacman failed!
Error: script failed!

I reckon I should open a new thread for this?

Lastly, swap is on despite the big RAM, just in case I need to put my session to sleep - which rarely happens to be honest though.

Swap is only needed for hibernation and not suspend.

Nah… install kernels which are supported by now. These kernels have nvidia modules precompiled:

$ pamac search "linux[0-9]*-nvidia$" --quiet 
linux419-nvidia
linux510-nvidia
linux515-nvidia
linux54-nvidia
linux61-nvidia
linux62-nvidia
linux63-nvidia

I recommend linux61 which is the latest LTS (longterm support).

Kernel 6.4 is the mainline kernel, the general development kernel. There are features included, which are widely untested. You are warned. Take a look here: https://www.kernel.org/

You should. a Zen2 Ryzen (not to mention some other things) will definitely benefit from you having a more recent BIOS than 2020.

If you did it is not set … and yes the file would go there.
You can also make use of cscs / maxperfwiz Ā· GitLab

You have some eol/excess kernels installed. Please remove them.
But first - boot into a good working kernel you dont want to remove.
ex:

sudo mhwd-kernel -i linux61

Once booted into a kernel you are keeping (you can check with uname -a) then remove the others:

sudo mhwd-kernel -r linux59
sudo mhwd-kernel -r linux64
sudo pacman -Rns linux59 linux59-headers
sudo pacman -Rns linux64 linux64-headers

Its a good idea to have some SWAP regardless … see above for a script to automate taming it a bit.
You can also see more here: Swap - ArchWiki

You probably mean <hr> for horizontal rule:


between two hr

Nope.
I meant </br> for breaks.

So that it can be broken up…


…like this

So that it can be broken up...

</br>

...like this

OK, that’s same as pressing enter to me.

Test

Test

//EDIT: yep, pressing enter creates paragraphs <p></p> and you’re adding <br> between paragraphs, technically not the same but basically same result as pressing enter one more time (but forum removes ā€œuselessā€ things like empty spaces in start of post, unneeded line jumps, this is a way to force it then).

Tis not…

…at least not here.

Tis not...




...at least not here.

See how its automatically truncated to a single space?
This can be even more infuriating when code and quotes and other things get mixed in.
Separation using </br> is one solution.

I guess since this is a desktop, I can’t really hibernate it. So swap is needless in my case?

I went with linux6.3.5-2 MANJARO for now, and I have linux63-nvidia installed.

The output of my

inxi -G

now reads:

Graphics:
Device-1: NVIDIA TU116 [GeForce GTX 1660 SUPER] driver: nvidia v: 530.41.03
Device-2: Logitech Webcam C270 driver: snd-usb-audio,uvcvideo type: USB
Display: x11 server: X.Org v: 21.1.8 driver: X: loaded: nvidia
unloaded: modesetting,nouveau gpu: nvidia resolution: 1: 1920x1080~60Hz
2: 1920x1080~60Hz
API: OpenGL v: 4.6.0 NVIDIA 530.41.03 renderer: NVIDIA GeForce GTX 1660
SUPER/PCIe/SSE2

I’m curious, should I still see nouveau or does ā€œunloadedā€ mean that it is installed but not in use?

Would I need to do any furhter work on this for better performance?

Today I noticed that video playback was performing sluggish, but then I remembered I had booted the linux6.4 kernel. After I rebooted, and switched to linux6.3 I did not see any more behavior like that.

No, that is perfectly fine. Nouveau would be the backup if nvidia is not there.

:man_shrugging:

:+1:

Thanks for the additional information.

I installed the latest BIOS release today.

I created a /etc/sysctl.d/2023-sysctl.conf file in which I introduced just this one line (output of cat /etc/sysctl.d/2023-swappiness.conf ):

sysctl.vm.swappiness=10

and I restarted my system. However swappiness is still set to 60 from what I see with sysctl -a.

I booted on linux6.3, and then uninstalled kernels 5.9 and 6.4 and the script ran successfully (Successfully installed video-nvidia).

I’ll keep the swap in place as is. If all other tweaks are finished, I might return to that later.

One thing I notice with 6.3 is that when I boot into my system, arandr does not load the shell script I have for configuring my two monitors. It’s not a big deal to set them manually for now, but it will soon become tedious.

That used to work with 5.10.

I’m on i3wm, and there is a call to a script that used to work, but I don’t remember if it did not work on Friday after a reboot, or if it started misbehaving today, when I installed 6.4.
The line in question is :

exec_always --no-startup-id ~/.20230703_BasKonst2-2monitorsLeftRight.sh

The prepended numbers mean something … I dont know what 2023 would do as it should be 2 numbers … them denoting the load order …
So to make sure something is loaded last (and thus overwriting other configurations) you would use:
/etc/sysctl.d/99-swappiness.conf