일찍이 무과에 급제하여 내외의 여러 관직을 역임하다가 1796년(정조 20)에 선전관이 되었다. 이 때 그가 시사(試射)에 입격하지 못하자, 국왕이 노하여 선전관의 시취문제(試取問題)에 대한 논란이 크게 일어났다.
1811년(순조 11) 홍경래의 난이 일어나자 평안도 병영의 중군으로서 휘하 군인을 이끌고 곽산에서 전공을 세워 포상받았다. 1835년(헌종 1)에 삼도통제사 겸 경상우도수군절도사가 되었다. 그러나 이 때 일을 잘 처리하지 못하였다는 암행어사 김기찬(金基讚)의 보고에 의하여 처벌받았다.