U.S. stocks struggled to end mostly higher, but oil and gas companies were hit by another plunge in the price of crude.
Chevron lost 2 percent and Exxon Mobil fell 1 percent Monday.
Benchmark U.S. oil sank another 5 percent and ended just above $31 a barrel, its lowest close since December 2003.
Huge global supplies of oil and worries about weak demand from China have helped send energy prices sharply lower.
Mining companies also fell along with metals prices. Freeport-McMoRan slumped 29 percent.
The Dow Jones industrial average gained 52 points, or 0.3 percent, to 16,383.
The Standard & Poor's 500 index edged up a point, or 0.1 percent, to 1,923. The Nasdaq composite slipped five points, or 0.1 percent, to 4,637.