Difference between revisions of "Preventing Your Programs From Overrunning Our Computers"

Line 37: Line 37:
 
** [https://support.cs.jhu.edu/wiki/Linux_Clients_on_the_CS_Undergrad_Net Specs on our Ugrad Net Linux Computers]
 
** [https://support.cs.jhu.edu/wiki/Linux_Clients_on_the_CS_Undergrad_Net Specs on our Ugrad Net Linux Computers]
  
* If you're going to use most of a system's memory.==
+
* If you're going to use most of a system's memory:
 
** Try to avoid using the systems's complete RAM memory.  Put safeguards into your programs to monitor your use of memory.
 
** Try to avoid using the systems's complete RAM memory.  Put safeguards into your programs to monitor your use of memory.
 
*** use the '''top''' or '''htop'' programs to see your program's stats.
 
*** use the '''top''' or '''htop'' programs to see your program's stats.

Revision as of 20:17, 17 November 2017

INTRO

As part of being a Computer Science student, you will no doubt create and run your own programs on our CS Linux Systems You also might be downloading programs from elsewhere and running then on our systems as well.
It's possible that software you write (or software you've downloaded and run) could, when running, exceed the existing resources on our systems.

Computing System Resources That Could Be Exceeded

  • Memory (RAM)
  • CPU (processing power)
  • Disk space
    • Ugrad users have a disk quota to prevent that.
    • Diskspace does not only include your home directory, but can also include your use of the Linux systems's /tmp directory.

Typical Symptoms Of Exceeded Computer Resources

  • Timeouts ssh'ing into the computer.
  • Programs run much slower than usual
  • Programs stop running because they run out of RAM or swap disk space.

Who Is Affected When Your Program Uses Up Resources On One Of Our Linux Systems?

Because all our our CS Linux computers are multiuser systems, programs that exceed the computer's resources, slowing down the system, could potentially affect all the users logged into those systems, remotely, or at the actual computer console.
Exceeding the computer's resources could also affect programs running in the background, perhaps as part of the computer's own system software or other users' batch jobs.
So... always be aware that you are not necessarily the only one logged into a system when you're running your own programs.

Tips To Prevent Your Programs From Exceeding The System Resources On Our Computers

  • If you're going to use most of a system's memory:
    • Try to avoid using the systems's complete RAM memory. Put safeguards into your programs to monitor your use of memory.
      • use the top' or htop programs to see your program's stats.
        • top -u username
        • htop -u username or htop --user=username


    • try not to tie it up for longer periods of time,
    • try to run your programs during low-demand times of day

(mornings, mostly; late evenings are the most busy).

    • Remember that because these are multiuser systems, other users could be logged into the system and could be affected if your program exceeds the computer's resources.

ugradx and ugradz have 32 GB of RAM each, and the lab machines have 16 GB.

Keep in mind that these are all multiuser systems, so other people need to be able to use them even while your programs are running. or