every year or two. Whenever I start running out of shirts that don't have holes or stains (I wear them to work too), and underwear that doesn't have holes, I go to TJMaxx and and buy about 5 3-packs of plain white T-shirts, and go to Walmart and buy about 5 3-packs of boxer briefs. Voila! Set for another couple of years.
Jeans last for longer than that. I just buy a new pair when my old ones get holes or something.