How can I find out the actual rpms my dc motor at any given moment?
In addition to the cornucopia of methods that burst forth from Russell's answer you could consider to add yet another to that rich bounty- if you have sufficient off time in your maximum PWM duty cycle you may be able to harness the back EMF of the motor itself as a tachometer signal. This has the advantage of being sensorless. It can be a suitable method for motors that are permanent magnet or that have a separate field winding. There must be sufficient time for the energy stored in the rotor inductance to die down, after which you can simply sample the voltage with an ADC.

A detailed description of this method can be found here. The back EMF is proportional to the RPM of the motor, and of the same polarity as the applied voltage (assuming a PM type or fixed field voltage) when measured at the terminals.