# Best practices ## Introduction This document will contain information on how to to monitor your resource usages on the UEF BIC computing environment. Particularly on how to work on shared computing server where where multiple users can execute their software in simultaneously. This document can be applied to both tuma.uef.fi and ePouta server instances. ## Resource usage [TUMA](https://bioinformatics.uef.fi/infrastructure/tuma) computing server has following specs: - CPU: 2x AMD EPYC 7302 / 64 threads - RAM: 1024 GB - OS: Rocky Linux 8 1024 GB of **RAM** is shared between the all users on the computing environment and usually there are around 30 users concurrently. Averaging this is around **34** GB of RAM per user. Computing server has 32 computing cores. With [Simultaneous Multithreading](https://en.wikipedia.org/wiki/Simultaneous_multithreading) these computing resources are "splitted" to two threads per computing core. So in total the server provides 64 computing threads for usage averaging 2 computing threads per user. ## Memory ### How to find out how much memory (RAM) the computing server has. Easy way to find out how much usable RAM server has is to use **[free](https://man7.org/linux/man-pages/man1/free.1.html)** terminal command. Example below. {{:guides:memory-usage.png?600|}} We are using -h parameter with **free** command to request output as human readable format. We can see that: - the computing server 1 TB of RAM. - 211 GB of the available RAM is in use - 260 GB of the RAM is free - 4.8 GB of the RAM is used (mostly) by the [tmpfs](https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt) of the kernel. - 535 GB buff/cache. These resources are released when the free memory becomes scarce. - 784 GB of RAM is available. This is not totally **[accurate](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773)** but gives a good idead at least. Other useful commands are: cat /proc/memfree ### How to monitor memory usage