MySQL slave stuck at 'System lock' most of the time, high CPU usage
first we need to understand , there is no specific solution for this .
So as per provided information in Question, what good is :

You have mentioned that relay log position is keep on changing which means &quot;SQL thread&quot; is working

You have mentioned that Slave_SQL_Running_State is also getting change which means I/O thread is also working.
What bad is :&quot;relay log space is increasing&quot; which means data is coming but taking time to execute.


Lets dwell more here :

Are you observing slowness in Master as well ? Any slow Query in master ? If answer is No , proceed towards 2

Is configuration of both server same ? In this you must check mysql buffers pool configuration and isolation method. I have personally experience that Isolation level can also be culprit ( Repeatable read which is default in MySQL ) If same , proceed towards 3

Have you checked what query is executing at time when you observed slowness.
Just do , pager grep Query followed by show processlist;


This will give you an idea what is stucking.
Lets go more inside , check relay log position and check in relay log what is the query and try to optimize it. But before that be ensure if it is really performing slow .
You can use performance schema database and in this database , just enable instrument for SQL,IO,Replication and take help of this link : https://dev.mysql.com/doc/refman/5.7/en/performance-schema-replication-tables.html
Apart from this , you can also use SYS schema to diagnose whats going wrong.
What Rolando told is one of the cause and he is correct . Load file can generally cause this issue.
Let me know if i make sense :)