The solution here is to cut the area (UK) into smaller sections. This is what Garmin does as well. Tools for cutting the planet data into smaller pieces are Osmosis and OSMCut. Feed those chunks to mkgmap and it will produce the map sections which you can send to your GPS using e.g. the sendmap tool.
As you have problems with osmcut, I suggest using Osmosis (Adapt to reflect UK differences):
osmosis
--read-xml SloveniaGarmin.osm --tee 4
--bounding-box left=15 top=46 --write-xml SloveniaGarminSE.osm
--bounding-box left=15 bottom=46 --write-xml SloveniaGarminNE.osm
--bounding-box right=15 top=46 --write-xml SloveniaGarminSW.osm
--bounding-box right=15 bottom=46 --write-xml SloveniaGarminNW.osm
The values of left, right are longitudes and top, bottom are lattitudes. Have a look at informationfreeway.org (in the lower right corner) to find the right lat/lon values.
Then run mkgmap with the resulting .osm files as commandline parameters. Mkgmap should not use excessive amounts of ram for these operations.