Are you running a 32 or 64 bit OS? 32 bit systems really cannot run newer modded Minecraft packs because a 32 bit system is limited by hardware to a maximum of 4GB address space. This space has to be able to keep the OS running as well as the game, and the newer versions of the game are just too big. You need a 64-bit CPU/System, a 64-bit OS and a 64-bit version of Java.
Packs older than Minecraft 1.7 (such as Ultimate) run ok in a 32 bit environment, but the newer Minecraft versions, coupled with the number of mods in most packs now (about 100) require more than the total amount of memory a 32 bit system can provide (4GB).
While Minecraft 1.7 can run with 4GB allocated ram. remember that your system needs an additional 1 to 2GB on top of that to keep running. The newer 1.10 packs really want between 4 to 6GB allocated to Java, not including any texture packs you may want to add. My memory allocation is currently 5.5GB without adding any texture packs and I run higher graphics configurations and see about 40-60 FPS because my video card is so old