Romanian soldiers have been reinforcing flood defences
Tributaries swollen by snowmelt have increased the volume of the Danube to more than twice its normal April level.
The Romanian authorities have begun flooding farmland to ease the pressure.
Serbia has declared a state of emergency in several areas, evacuating hundreds of people as the waters reached the roofs of their houses.
The emergency follows devastating floods in the Balkans last year, which left dozens of people dead and farmland and infrastructure damaged or destroyed.
"We must not relive the nightmare of last year," Romanian Interior Minister Vasile Blaga said.
"We must act quickly to prevent the loss of human lives."
The Romanian authorities have begun the controlled flooding of up to 90,000 hectares (350 sq miles) of farmland to try to reduce the flow and the danger to communities downstream.
As civil defence workers scrambled to reinforce vulnerable areas with sandbags, they were helped by the collapse of a dam in south-western Romania which flooded farmland and let some of the pressure off.
"The water flow has fallen by 200 cubic metres per second. This is a success," Beatrice Popescu, of the environment ministry, told Reuters news agency.
However the Danube has been shifting nearly 16,000 cubic metres a second - coming close to a record set 111 years ago.
Serbian Agriculture Minister
Near Vidin, a tent city with space for 1,200 is being erected in case people needed to flee their homes.
In Serbia the Danube and four other rivers threatened several regions.
One of the worst affected areas is the town of Smederevo, some 40 km (24 miles) east of Belgrade, where the Danube is 40 cm above its highest-ever level and hundreds of homes are under water.
The centre of the eastern town of Golubac is also among those flooded.
The Danube is still rising and is expected to peak in most places on Tuesday."We are all mobilised and what is left now is for us to trust in God that all will end well," Serbian Agriculture Minister Ivana Dulic Markovic said.