If you are client, you may use these:

-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxGCPauseMillis=37 -XX:+PerfDisableSharedMem -XX:G1HeapRegionSize=16M -XX:G1NewSizePercent=23 -XX:G1ReservePercent=20 -XX:SurvivorRatio=32 -XX:G1MixedGCCountTarget=3 -XX:G1HeapWastePercent=20 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1RSetUpdatingPauseTimePercent=0 -XX:MaxTenuringThreshold=1 -XX:G1SATBBufferEnqueueingThresholdPercent=30 -XX:G1ConcMarkStepDurationMillis=5.0 -XX:GCTimeRatio=99 -XX:AllocatePrefetchStyle=3 -XX:+UseStringDeduplication 

If you are server or in single player, you may use these:

-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxGCPauseMillis=150 -XX:+PerfDisableSharedMem -XX:+DisableExplicitGC -XX:+UseStringDeduplication -XX:MaxTenuringThreshold=8 -XX:G1HeapRegionSize=16M -XX:G1MaxNewSizePercent=70 -XX:G1ReservePercent=20 -XX:G1MixedGCCountTarget=8 -XX:InitiatingHeapOccupancyPercent=40 -XX:G1ConcRefinementThreads=4

Alt Version (may work better):

-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxGCPauseMillis=150 -XX:+PerfDisableSharedMem -XX:G1HeapRegionSize=16M -XX:G1NewSizePercent=30 -XX:G1ReservePercent=20 -XX:SurvivorRatio=16 -XX:G1MixedGCCountTarget=6 -XX:G1HeapWastePercent=10 -XX:InitiatingHeapOccupancyPercent=30 -XX:G1RSetUpdatingPauseTimePercent=10 -XX:MaxTenuringThreshold=8 -XX:G1SATBBufferEnqueueingThresholdPercent=60 -XX:G1ConcMarkStepDurationMillis=10 -XX:GCTimeRatio=99 -XX:AllocatePrefetchStyle=3 -XX:+UseStringDeduplication 


Recommended allocation based on your ram:

- 4 GB: don't
- 6 GB: try if you can
- 8 GB: TRY if you WILL
- 12 GB: allocate 6-8
- 16 GB: allocate 8-10
- 32 GB: allocate 10-16