We study limit cycles of nonlinear oscillators described by the equation $\ddot x + \nu F(\dot x) + x =0$. Depending on the nonlinearity this equation may exhibit different number of limit cycles. We show that limit cycles correspond to relative extrema of a certain functional. Analytical results in the limits $\nu ->0$ and $\nu -> \infty$ are in agreement with previously known criteria. For intermediate $\nu$ numerical determination of the limit cycles can be obtained.