Performance issue | MySQL Consumes more than 80%+ memory and 2000%+ CPU
It would be helpful to have SHOW CREATE TABLE for the first few tables in the slowlog.  It would also be helpful if you always tagged each column with the alias (or table) that it belongs to.  Meanwhile, I will make some guesses.

Indexes (or PRIMARY KEYs) needed:

user_registration:  (usr_username)
user_type:  (usr_type_id)
company_master:  (comp_id)
company_master:  (status, comp_id)


If my suggestions don't help enough, then provide EXPLAIN SELECT ... for the worst few queries.

Because of the implementation of information_schema (prior to version 8.0), SELECT  data_free... cannot be sped up.  But why are you doing the query?  There may be a workaround.

Including a test on status or del_status (etc) sometimes makes optimization more difficult.  There is not a one-size-fits-all remedy.

A tip about SELECT  U.*, ...: If * includes some TEXT or BLOB columns that you don't really need, there may be a performance improvement by spelling out only the columns you do need.

Those indexes should help the first few queries.  Since they comprise 99.9%+ of the activity, you should see the CPU go down significantly.

If you need another go at this, change to long_query_time = 1, clear the slowlog, and run for another day.