본관은 연안(延安). 자는 여습(汝習), 호는 심락재(尋樂齋). 김인개(金仁漑)의 증손으로, 할아버지는 김현(金琄)이고, 아버지는 부사 김수오(金粹五)이며, 어머니는 유경원(柳慶元)의 딸이다.
1663년(현종 4) 충청도 유생으로서 이이(李珥)와 성혼(成渾)을 문묘에 종사하도록 건의하였다. 1678년(숙종 4) 통덕랑(通德郞)으로서 증광 문과에 병과로 급제하여 전적·지평·사간 등을 역임하였다. 1687년 장령이 되어서 지평 이정익(李禎翊)·김만중(金萬重) 등을 구하려는 소를 올렸으나 거절당하였다.
1694년 갑술환국 이후에도 장령으로 있다가 울산군수를 지냈다. 성격이 강직하여 간관(諫官)의 풍채를 지니고 있었으며, 대각(臺閣: 사간원과 사헌부의 총칭.)에서 그 직분에 능한 사람을 추천할 때 반드시 제일로 꼽았다.