I put 4gb of ram reads only 2.99 ram usable on windows 7

As eluded to in this post... 32 bits Win can only "see" 4 GB .... some of that address sace is reserved/used by hardware, like motherboard components or onboard graphics etc.

So windows can only "see" 4GB .. minus these reserved components. My laptop is same as you see - I have 4GB in, but it can only reports 3 GB as avail - the rest is used by these reserved components.

If you had 64 bit windows, windows can "see" much more and so can use the full 4GB.