...
- PID: Process ID.
- USER: The owner of the process.
- PR: Process priority.
- NI: The nice value of the process.
- VIRT: Amount of virtual memory used by the process. On our servers, currently, the maximum virtual memory a job can use is 25% of the total memory. Which means 64 GB on most of our servers.
- RES: Amount of resident memory used by the process. This is the actual memory your process is using!!!
- SHR: Amount of shared memory used by the process.
- S: Status of the process. (See the list below for the values this field can take).
- %CPU: The share of CPU time used by the process since the last update. Can go up to a little more than 100%.
- %MEM: The share of physical memory used.
- TIME+: Total CPU time used by the task in hundredths of a second.
- COMMAND: The command name or command line (name + options).
In theory, all users together, including the system, can use up to almost 100% of the total memory before things are starting to get really really slow. But since one user usually does not know what all the others are doing, we ask each user not to use more than 25% of the total memory for all of her/his processes together.
For as long as the CPU time (column: 'TIME+') keeps increasing, you do not have to worry about jobs with the status (column: 'S') of 'R', 'S' or 'D'. But if the CPU time stops increasing for a while, you should check if this job is still needed or if you can terminate it - especially if it uses several % of memory.
Jobs with a status of 'T' or 'Z' should always get killed.
And if you see you have processes running that you recognize(!) that should not be there anymore, they are probably zombies and you should kill them.
The following is from:
https://www.howtogeek.com/668986/how-to-use-the-linux-top-command-and-understand-its-output/
...