Monitoring and Controlling Processes
Unix provides the ability to monitor process execution and, to a limited extent, specify execution priorities. By doing so, you can control how CPU time is allocated and (indirectly) how memory is used. For example, you can expedite certain jobs at the expense of all others, or you can maintain interactive response times by forcing large jobs to run at lowered priority. This section discusses Unix processes and the tools available for monitoring and controlling process execution.
uptime command gives you a
rough estimate of the system load:
uptime3:24pm up 2 days, 2:41, 16 users, load average: 1.90, 1.43, 1.33
uptime reports the current
time, how long the system has been up, and three load average figures. The load average is a rough measure
of CPU use. These three figures report the average number of processes
active during the last minute, the last five minutes, and the last 15
minutes. High load averages usually mean that the system is being used
heavily and the response time is correspondingly slow. Note that the
system’s load average does not take into account the priorities of the
processes that are running.
What’s high? As usual, that depends on your system. Ideally, you’d
like a load average under about 3-5 (per CPU), but that’s not always
possible given the workload that some systems are required to handle.
Ultimately, “high” means high enough that you don’t need
uptime to tell you that the system is overloaded—you can tell from ...