Throttling during high disk IO

I usually listen to music via YouTube while working. However, ever since I installed Fedora, I have been experiencing audio drop-outs and stuttering. This usually happens when spawning new processes or high disk IO. Specifically, when I do the following:

  • Opening new tabs and windows
    Firefox is usually the culprit here. If I play a video in the background (in Vivaldi or in Firefox), the audio will significantly drop-out/stutter when opening new Firefox tabs/windows. As far as I know, Firefox starts each new tab in a process so that might have an effect to it.
  • Launching a new virtual machine with VMPlayer
    When powering on my Windows 8.1 virtual machine, audio from either Vivaldi or Firefox will also drop-out/stutter. This also sometimes happens when shutting down the said virtual machine.
  • Launching other applications
    Occasionally, the drop-outs/stutters would occur when I open new applications. Although it happens less frequently, I am surprised that stutter can occur even though I am just launching the terminal (which is a very small application).

I have a relatively slow HDD for my laptop. Although the slow start-up time of applications is manageable for me, the audio stuttering isn’t. I haven’t experienced this kind of issues with the past distros I used, Ubuntu and elementaryOS (both using PulseAudio). Here are some hardware specifications of my Dell Inspiron system:

  • CPU: Intel Core i5-8250U
  • RAM: 12 GB
  • GPU: AMD Radeon 520 (Switchable Graphics)
  • Kernel driver: radeon

I also tried playing with the virtual memory values through the tuned. I tried switching the profile to latency-performance and throughput-performance but it also didn’t help much. My current profile is accelerator-performance with the following parameters:

'kernel.sched_min_granularity_ns' = '10000000'
'kernel.sched_wakeup_granularity_ns' = '15000000'
'vm.dirty_ratio' = '40'
'vm.dirty_background_ratio' = '10'
'vm.swappiness' = '10'

As you can see, the swappiness value is pretty aggressive already. Also, I checked htop when the drop-outs/stutters occur. The swap memory usage doesn’t spike/change during those times. Also, the CPU usage aren’t really that high when drop-outs/stutters happen.