home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


Book HomeMac OS X for Unix GeeksSearch this book

Chapter 8. System Management Tools

Mac OS X comes with many tools for tweaking and spying on various aspects of your system, including memory, kernel modules, and kernel state variables. Some of these tools come directly from BSD, while others are unique to Mac OS X. Most of the BSD-derived utilities have been filtered through Mach and NeXTSTEP on their way to Mac OS X.

For more details on any of these utilities, see their respective manpages.

8.1. Diagnostic Utilities

Mac OS X includes many diagnostic utilities that you can use to monitor your system and investigate problems.

8.1.1. top

The top utility displays memory statistics and a list of running processes. It is divided into two regions: the top region contains memory statistics and the bottom region contains details on each process.

TIP: The Mac OS X version of top is based on the one used in early versions of BSD. It was ported to Mach in 1988, to NeXTSTEP in 1990, and to Mac OS X in 1999.

You can specify the number of processes to show by supplying a numeric argument. By default, top refreshes its display every second and sorts the list of processes by process ID (PID) in descending order. You can set top to sort by CPU utilization with -u, and you can specify the refresh delay with the -s option. Figure 8-1 shows the output of top -u 10 (if you wanted to refresh the output every 3 seconds, you could run top -s3 -u 10).

Figure 8-1

Figure 8-1. Sample output from top

Table 8-1 describes the values shown in the top region, and Table 8-2 describes the columns in the bottom region (process information).

Table 8-1. Memory information displayed by top

Item number

Item

Description

1
Processes

The number of processes and threads. A running process is currently using CPU time, while a sleeping process is not.

2
Load Avg.

The average system load (number of jobs vying for the CPU's attention) over the last 1, 5, and 15 minutes.

3
CPU usage

A breakdown of CPU usage, listing time spent in user mode, kernel (sys) mode, and idle time.

4
SharedLibs

The number of shared libraries in use, along with their memory utilization.

5
MemRegions

The number of Mach virtual memory regions in use, along with memory utilization details.

6
PhysMem

The physical memory utilization. Memory that is wired cannot be swapped to disk. active memory is memory that's currently being used, inactive memory is memory that Mac OS X is keeping "on deck" for processes that need it, and free memory is memory that's not being used at all.

7
VM

The virtual memory statistics, including the total amount of virtual memory allocated (the sum of the VSIZE in the process list), as well as paging activity (data paged in and out of physical memory).

Table 8-2. Process information displayed by top

Item number

Item

Description

8
PID

Process ID

9
COMMAND

Program's name

10
%CPU

Percentage of the CPU that the process is using

11
TIME

Total amount of CPU time this process has used

12
#TH

Number of threads in this process

13
#PRTS

Number of Mach ports

14
#MREGS

Number of memory registers

15
RPRVT

Resident private memory

16
RSHRD

Resident shared memory

17
RSIZE

Resident memory

18
VSIZE

Process's total address space, including shared memory



Library Navigation Links

Copyright © 2003 O'Reilly & Associates. All rights reserved.