Don't ask for answers, get them yourself.
- Make sure your JMeter configuration is optimal in terms of Java Heap space, Garbage Collector options, test is well-behaved and being run in non-GUI mode. See 9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure article for JMeter performance tweaks listed and explained.
- Configure Thread Group to kick off 10k virtual users and start executing your test, but do this gradually. This will allow to check where the problems start occurring.
- While doing step 2 make sure you monitor the main health metrics of the host where JMeter is running, to wit: CPU, RAM, Swap usage, Network and Disk IO. When one of the metrics starts exceeding i.e 95% - most likely this is your bottleneck. This could be done using your operating system built-in tools or JMeter PerfMon Plugin.
Be aware that JMeter supports Distributed Testing Mode when your test is being executed in parallel by several JMeter instances on different hosts, for instance if you have 2 machines you can use as load generators - you will need to kick off 5k threads on each JMeter remote engine.