What is the best way to import new changes from dev to live site using feature module I have a live site and I have done many new changes on the dev site already.  

I would drop the database on live and import the dev DB into it but there are users on live site.

I came across Features module . What will be best way if I: 


create a huge feature with all the options selected (content types, permission, etc etc ) and import it to live site. 
or create many little modules using feature and import them to live.


I don't know what changes I have made to dev. There is lot of work which I can't remember.
Do not use a huge feature with all your changes because Drupal may have problems managing it. I recommend to split your configuration in several Features.

If your project is absolutely custom and you are not going to reuse your custom configuration you can create a Feature for every Drupal domain obejct. For example, create a Features for each Content Type, a Feature for the base Fields, a Feature with all your Views, another Feature with the roles, anohter Feature witj all permissions, and so on. If any of those Features becomes too big (for example, you have hundreds of Views) you can just split it into smaller Features.

If your configuration may be reusable in other projects use Features that more or less pacakge a single site feature.

There's no way to know what you have changed from your dev site compared to live site easily. I suggest to just create your Features and deploy them in a clone of your pro site and check everything works ok. If not, trace the missing configuration.