Re: High latency while CPU is under full load

From: Austin S Hemmelgarn
Date: Wed Oct 08 2014 - 07:47:45 EST


On 2014-10-07 15:28, Grozdan wrote:
Hi,

Basically, my problem is this:

I'm doing a lot of audio/video encoding on an AMD FX8350. The encoder
process always runs at nice 10. Even so, my whole system feels very
sluggish. Switching between different app windows and/or virtual
desktops takes up usually 3-5 seconds giving the impression that there
is not enough processing power. Browsing the web is also severely
impacted.

I had to tune CFS in order to be (much) more responsive during an
encoding session. This has worked out pretty well thus far, but it is
my opinion that the user should *not* need to fiddle with buttons to
make his system respond fluently even under high load. The below is
what I had to do in order to get a snappy system during such load

kernel.sched_nr_migrate = 64
kernel.sched_latency_ns = 65000000
kernel.sched_wakeup_granularity_ns = 100000
kernel.sched_min_granularity_ns = 100000
kernel.sched_migration_cost_ns = 7000000

I have tried 3 different kernels, including one compiled myself, but
the results are the same
Kernels I tried were: 3.11.10, 3.12 and 3.16.4 (self-compiled)

My system specs are as follows

CPU: AMD FX-8350 @ 4GHz
RAM: 16GB DDR1333
GPU: NVIDIA GTX 560 with NV blob driver
HDD: Seagate Constellation ES.3 128MB cache
Desktop: KDE 4.11

Are you using a kernel with CONFIG_PREEMPT=y? I've personally found that that can help hugely with UI sluggishness (and also tends to get better results when doing stuff like live video capture), although to get this you may need to build the kernel yourself. Also, I would suggest trying the deadline I/O scheduler; I've found it provides much better latency than CFQ for most workloads, and you almost certainly don't need I/O priorities. I've actually got a similar setup (FX-8320 @ 4GHz, 16GB DDR3-1600, High-end storage, and a Radeon R7-240 GPU), and had similar issues when doing processing of big (>500MB) images in GIMP, and using a CONFIG_PREEMPT enabled kernel and the deadline I/O scheduler has pretty much resolved all of these issues.

Additionally, try with KDE's 'semantic desktop' functionality turned off, this eats a huge amount of disk and memory bandwidth, and can easily bring a system to it's knees. Furthermore, unless you can reproduce things using nouevau instead of the NV driver, you're not as likely to get a lot of help.


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature