北宋保安军(治今陕西志丹)人。出身将家。数与西夏战,以功累迁鹿延路总管、马军副都指挥使。宣和间,从童贯镇压方腊起义。四年(1122),以宣抚都统制参加燕山之役,督兵十万屯于卢沟(在今北京西南)南,不战自溃,尽失熙宁、元丰以来军储,贬筠州安置。旋复起用,靖康之变时,部兵守京城,城破遁走,为追骑所杀。