Why more threads reduce h/s rate? I have dual xeon processors (total 48 cores). I am using cpuminer-easy with nicehash pool on fedora. I have noticed that if i keep my number of threads greater than 10, the h/s falls dramatically. I am using Cryptonight algorithm. For 40 threads, i get 2-3h/s per thread while with 10 threads i get 25 -30h/s per thread. What is wrong here? How can i utilize all cores?
The E7-4830v3 has 10 physical cores and 20MB of L3 cache. With two CPUs, you'd only have 20 physical cores and 40MB of L3. Since every thread is doing exactly the same thing, hyper-threading is virtually useless. It wouldn't help you anyway since you only have 2MiB per physical core and that's exactly what cryptonight requires.

So, short answer, with 40MB of L3 cache, you cannot run more than 20 instances of the cryptonight algorithm concurrently without dropping from L3 speed to RAM speed, which is a huge performance loss.

You can probably go higher than 10, but more than 20 is a non-starter.