  In the 1960s, Erd\H{o}s and Gallai conjectured that the edge set of every
graph on n vertices can be partitioned into O(n) cycles and edges. They
observed that one can easily get an O(n log n) upper bound by repeatedly
removing the edges of the longest cycle. We make the first progress on this
problem, showing that O(n log log n) cycles and edges suffice. We also prove
the Erd\H{o}s-Gallai conjecture for random graphs and for graphs with linear
minimum degree.
