"most mining algorithms targeted for CPUs require certain amount of L3 cache per thread (core), usually 1-4MB, so just divide your total amount of CPU L3 cache by this number and the result is how many threads can you run max on your cpu. For example if an algorithm requires 2MB of cache per thread and you have a 10-core 16MB L3 cache cpu, you can run at most 16/2=8 threads, 9 or 10 threads will result in worse performance as cores will be kicking out each other's data from the cache. " https://www.reddit.com/r/MoneroMining/comments/jurv6j/proces...
Below are two real world examples of monero mining I run myself
An example is my i9-10850K. exact same performance using 8 cores or 10 cores (16 threads or 20 threads).. in fact it slightly goes down performance wise at 20 threads.. Given that it has 20MB cache, it is an example of the bottom limit not being optimal. using this example i'd say minimum is around 1.12MB per thread, or 2.25MB per core
Another machine I have, the 5950x crunches away all day and night using all threads (32) on all cores (16) with 64MB cache no problem this correlates to 4MB per core / 2MB per thread.. and it seems like more than what it needs because I can use the machine all day for daily tasks with no hiccups and while mining full out. If you have a desktop at work and need to kill it all day long, the 5950x will absolutely take anything and everything you throw at it.. samsung b-die ram helps monero mining as well. I run only 32GB but in 4 8GB b-die sticks.