My CPU is I& Kaby-Lake-U?Y i7-7567U
It is rated at 3.5 GHz and actually runs at 3.8GHz and gets very hot up to 90 degrees.
Is there anyway I can reduce the temperature that the CPU reaches please
At 90 degrees you are only at 90% of what is maximum allowed at the processor die (100°C max).
I had the CPU running for over 3 hours at 95-96 degrees while compiling my FreeBSD 11.1 instalment without any problems.
For reducing the CPU temperature you should check your bios for fan settings and set it to maximum / always on / etc.
Hope this helps.
First of all, let's baseline your expectations. Desktop processors support a temperature threshold called the Control Temperature (Tcontrol). This threshold can vary from one individual processor to another, but is typically in the low to mid 80's. The processor can run at this threshold temperature constantly without ever suffering any thermal damage. Saying it another way, if the temperature is at or below this threshold, the processor is happy and you have absolutely nothing to worry about (though you do need to be cognizant of temperatures building up in surrounding circuitry). Now, temperatures above the Tcontrol threshold are not necessarily bad. Provided you are staying below the processor's Thermal Load Line (TLL), you should not be damaging your processor. Typically, if the temperature is rising fairly slowly, then you should not be exceeding the TLL. If this is happening very quickly, however, then you are probably exceeding the TLL and this can, in the long term, cause thermal damage (silicon degradation). Where you really want to be concerned is if the temperature is reaching the processor's Maximum Junction Temperature (Tjmax). At this critical level, the processor will begin throttling performance in order to lower the temperature, because these levels are definitely going to cause long-term thermal damage.
If you want to know what your processor's Tcontrol temperature is, read the IA32 Temperature Target MSR (address 0x01A2). Bits 16-23 specify the processor's Tjmax temperature threshold and bits 8-15 specify the Tcontrol Offset. Subtract the Tcontrol Offset from the Tjmax value to get the processor's Tcontrol temperature threshold. If you don't have a program that can display MSRs, I use a freeware tool called RWEverything.
Note: if the Tcontrol Offset value is 0 (zero), a Tcontrol temperature is not being provided for the processor. This will be the case for most Mobile and Embedded processors. I consider this unfortunate; the only number you then have to work with is Tjmax.
Ok, let's look at your (perceived) problem. There are a few things to look at:
If, after verifying the attachment of the cooling solution and the fan speed control algorithms, temperatures continue to raise to unsafe levels, you need to consider purchasing a better cooling solution. There are heat-pipe designs ("cooling towers") and liquid cooling systems that will improve thermal extraction.
Hope this helps,