These things vary a lot from server to server and based on the specific size of your community, but ideally you should not be having several gigabytes of temp tables stored on your disk. Ideally, you should also have more than a handful of gigabytes available in /tmp, but I don't see how much space you actually have configured for this mount point on your server in the screenshots above, just that it is completely full.
As noted above, if the tmp directory PHP uses to store uploads is not large enough, large file uploads can end up causing this to happen. But based purely off the screenshots we see here, it looks like MySQL may be more to blame. In order to confirm, we would need to know the total disk space available to /tmp and what files are actually taking up all of this space.
Again based on the screenshots above however, it looks like your server is also configured to use MyISAM instead of InnoDB. Generally, it's recommended you use InnoDB for your tables instead, as MyISAM has several performance and scalability pitfalls that InnoDB mitigates.
The best solution here would be to first make sure your server has enough memory to store your entire MySQL database, plus enough to run all existing services and an additional buffer window to spare for growth and disk caching, and then convert your databases to InnoDB with your MySQL configuration tuned accordingly for your servers specific needs.
All of this can be rather complicated and is unfortunately not something that can be easily guided through in a forum post. If you have a managed server, you could see if this is something your host can do for you.