1905年5月入北洋陸軍第5鎮任第十協幫帶官,後升任管帶官。
1912年2月升任標統。9月第5鎮改編為北洋陸軍第5師,任第10旅20團團長。
1913年2月20日敘任陸軍步兵上校。7月,第10旅改稱第10混成旅,仍任團長。8月10日加授陸軍少將銜。9月14日晉任陸軍少將。特授勛五位。
1914年8月7日混10旅改編為魯軍第1混成旅,任第2團團長。
1918年1月4日混1旅編入魯軍暫編第1師(師長施從濱),升任第2旅旅長(旅轄兩團)。6月27日第2旅改稱魯軍第1混成旅,仍任旅長。
1920年4月28日加授陸軍中將銜。
1922年7月25日晉給二等寶光嘉禾章。9月23日晉任陸軍中將。
1923年2月10日授將軍府將軍。5月29日因通電和平被迫辭職,避居上海。
1925年4月1日復出,仍任魯軍第1混成旅旅長。12月所部擴編為直魯聯軍第67師,任第5軍副軍長兼第67師師長。
1926年12月改任安國軍第1路副總指揮兼第67師師長。
1927年2月1日特授將軍府克威將軍。
1927年春,同南方革命黨人取得聯系,遂趁直魯軍不備,毅然反戈相向,宣布加入北伐陣線,給直魯軍以沈重的打擊。
5月14日,第67師改編為國民革命軍第33軍(軍長柏文蔚)第2師,任第33軍中將副軍長兼第2師師長。(師轄2旅)
1928年2月25日第2師改稱第71師,仍兼任師長。3月11日升任第33軍中將軍長兼第71師師長。
1928年7月1日南京國民政府舉行各軍編遣會議 ,各軍進行縮編,軍縮編為師。7月25日第71師縮編為第1師(師長劉峙)第3旅,降任第1師中將副師長。
1930年3月17日任安徽省政府委員。11月3日調任軍事參議院中將參議。
1931年11月20日調任河南綏靖公署(主任劉峙)中將總參議。
1935年12月12日河南綏署改稱駐豫皖綏靖公署(主任劉峙),仍任中將總參議。
1936年1月28日敘任陸軍中將。7月9日獲頒國民革命軍誓師十周年紀勛章。
1937年7月7日 抗日戰爭爆發後在家鄉壽縣成立抗日民軍總指揮部,組織民兵抗日,其兩弟相繼戰死。
1938年1月25日病逝於上海。