Splitter
From OpenStreetMap Wiki
splitter.jar is a companion program to mkgmap for splitting large .osm-files into smaller parts. It can be found at http://www.mkgmap.org.uk/page/tile-splitter.
Recent versions of splitter (including r170 and r180) support pbf files.
Notes
Splitting SRTM data from Srtm2Osm
Since Srtm2Osm mixes ways and nodes, you must use the --mixed option to split OSM data generated by Srtm2Osm.
If you run into an error like:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index (31250079) is greater than or equal to list size (31250001)
use Splitter revision 123 (from svn) instead of the latest revision. See this mkgmap-dev thread for details.