隋京兆栎阳(今陕西富平东南)人。本姓鱼,世居灵武。有胆气,善鲜卑语,精骑射,长大后折节读书。在北周至开府,任石州部管。入隋,进大将军,为京兆尹、营新华都总监。曾为元帅拒突厥,迁尚书右仆射。开皇四年(584),出使突厥,令沙钵略可汗称臣。渐升为右武候大将军。十七年,岭南李贤反隋,他不自请出征,被文帝所责,仍用为桂州道行军总管。南下至潭州(今湖南长沙),有怨言,被所遣赴京使者诬告欲反,于是年岁末坐死。