Without actually seeing & hearing this vehicle; all we can do is guess? Yes it could be as what dmac said; low refrigerant because that would explain the noise and the AC not being very cold.
With you saying that the engine will begin to overheat, if idled to long; makes me think that possibly the rad cooling fan is not working. This fan also cools the air conditioning’s condenser. Look at it this way no cooling fan no cooling for you or the engine.
This would explain the overheating & the low AC performance but not the noises.
Again without hearing the noise and not knowing what engine this is, I’m just guessing.
There were two engines available for the Cavalier both 4 cylinders; a 2.2 Lt and a 2.4Lt.
If this happens to be the 2.4 engine and with the description you gave of the noise; I’m thinking worn loose timing chain or timing chain guides and tensioner; allowing the chain to hit and rattle inside the timing chain cover?
These timing chains (if not to badly stretched) are tensioned by a hydraulic tensioner which uses engine oil pressure to push out a rubbing block against the chain to keep the chain tight.
When an engine is at idle, is when the oil pump is producing the least amount of oil pressure. Lower pressures will not give the tensioner the strength to push the rubbing block out against the chain to keep it tight and quit.
If this is the case; you need to have this fixed ASAP. The chain could jump and cause even more internal engine damage; that will need to be repaired, along with the chain and its tensioning components.
Dan.
Canadian "EH"