The Device Discovery process will only move SNMP reachable devices into DCR for management by other applications. So, click on the number next to Device Discovery on the Campus Manager Homepage, and see what the status of the missing devices is. If the devices don't even show up there, check your discovery filters under Campus Manager > Admin > Device Discovery > Discovery Filters, and make sure hey are not being filtered out.
As for sm_server, this process is part of DFM. If it's taking 80% of the CPU it could be doing real work (i.e. polling devices for events, rediscovering devices, etc.) or there may be a problem. The first thing you should do is find out how many managed ports and interfaces are in DFM. To do that, run:
NMSROOT/objects/smarts/bin/sm_tpmgr -s DFM --sizes
The total number of ports+interfaces cannot exceed 45,000. The total number of ports+interfaces instrumented for connectivity or performance cannot exceed 6,750. If you find that you have more objects in DFM than is supported, you will need to disable auto-manage mode under DFM > Device Management > Device Selector, then remove some devices from DFM.