Окончил Морской корпус в 1892 году и Минный офицерский класс в 1901 году. С 1908 по 1910 год командовал миноносцами «Боевой» и «Доброволец», после чего в звании капитана 1 ранга назначен на должность военно-морского агента в Великобритании. В 1912 — командир линейного корабля «Андрей Первозванный». С началом Первой мировой войны занимал различные штабные должности в Балтийском флоте. 12 сентября 1917 года произведён в контр-адмиралы.
В декабре 1917 года — член Российской комиссии по перемирию, Начальник минной обороны Балтийского моря.
С 1918 года — в советском флоте. Активный участник подготовки и проведения Ледового похода Балтийского флота в 1918, затем командовал учебными отрядами.
В 1919—1920 командовал морскими силами Балтийского моря.
Во время обороны Петрограда руководил некоторыми морскими операциями против английских и эстонских военно-морских сил.
С 1920 эксперт по морским вопросам РВС Республики и уполномоченный морского ведомства при советском представительстве в Финляндии.
Скончался 4 сентября 1922 года, похоронен в Александро-Невской лавре.