I would do a visual on the idle controls such as IAC, TPS, MAF, and all vacuum lines. That is if these items apply to your vehicle. If visual is good, then get the meter out. Also, check you battery for correct voltage. Cheers.
This condition is commonly known as "HUNTING", careful diagnostics is required and no adjustments are to be made until the cause is located.
Tommy's advice is fore most. Has any work been done lately??
Vacuum leaks normally cause a rise in rpm, bad EGR cause bogging.. maladjusted TPS may cause hunting as the ECU relies on this switch to signal closed throttle.. Engine temp may also cause this anomaly..
Time to connect a "LIVE DATA SCANNER" (not a code reader).
COLD engine, (KOEO) Key on, engine off.
AIT (air temp)and ECT(coolant temp) must be with in 2% of ambient temperature
TPS, 0% at stop and rise smooth and steady as throttle is advanced
MAF, 0% with no air flow
Battery, 12.6vdc, fully charged.
ECT, must start to rise and attain and hold 180* at idle and 2000rpm
CL (ECU) must maintain at idle and 2000rpm
MAF, small reading at idle and rise steadily as throttle advances.
O2, (B1S1, precat), must start actively switching with no lean/rich bias...
LTFT, (long term fuel trim), close to 0%, +/-2 is allowable, if more, time to investigate fuel delivery/illegal air
Vacuum, at unregulated manifold port, 19-21”hg..with a dead steady needle, investigate jitter or bounce.
DJ vega take the IAC valve off and clean it with throttle body cleaner and put it back on i had the same problem mine lasted another year till i had to replace it their not cheap it drove me crazy til i figured it out.