Well, normally one should prefer small targeted word lists with a lot of rules (not just massive word lists with no rules).
The GPUs need to have some work to do (i.e. with the help of some amplifications, like rules etc), not just waiting for the disk to read the files (which might be the bottleneck here).
Ok, I may have spoken too soon. The crack when though a bunch of masks and was able to get a bunch of status updates but then it hangs again.
?l?l (right side) is going to take over 2 hours and speed dropped from 1588 MH/s (?l?d) to 16 MH/s. Though it is updating before reaching exhaustion. Once I bypassed that mask (?l?l) it picked up speed and was updating the status when requested.
I think there's those 2 answers to your 2 questions:
a) the status is blocked by a possible large number of cracked hashes you do. that will fix "itself" after a while, that is when you do no longer crack that much hashes at the same time.
b) the slow speed you're reporting is because you use a wordlist without an amplifier. if you do a benchmark (or a mask attack) hashcat automatically create an amplifier for you, therefore it's fine with those modes. If you want high speed with wordlist, you need a ruleset added. That will still not reach full mask attack performance, but much better than you have it now.
note that cracking multiple hashes will drop performance as well, hashcat has to check if there's a matching hash or not. consider the 120 million entries, its still fast. also partial reversing works only with a single hash.
What rule do you suggest I use? Standard one that comes with hashcat or should I be looking at making my own? If standard, which one?
Also, I'm perplexed as to why the status update works fine for any mask with the wordlist EXCEPT for ?l?l. Why does that hang?