There are 3000 entries inside sitemap.xml,but it turns out that Google just crawls 300 of them,what's the problem?
I'd suggest taking a look into Google Webmaster Tools. There you see the number of submitted URLs and the number of indexed URLs. If URLs get indexed depends on links back to the page, so they might not get indexed even if they're crawled (note the difference). Furthermore, Webmaster Tools tells you if any crawling errors ocurred, which might be the case if only some of your URLs get crawled.
It can takes weeks for Google to fully index a site. The quality and perceived importance if the page (incoming links) is a contributing factor.
Is Google just crawling the first 300, or some other set?
How long have your waited for the crawl? I've seen Google wait a long time (>2 wk) before getting around to crawling everything on a sitemap.