Electrical computers and digital processing systems: memory – Storage accessing and control – Memory configuring
Reexamination Certificate
2001-03-26
2004-06-15
Sparks, Donald (Department: 2187)
Electrical computers and digital processing systems: memory
Storage accessing and control
Memory configuring
C711S220000, C714S001000, C714S699000
Reexamination Certificate
active
06751718
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates to the field of computer systems. In particular, it relates to computer systems in which “virtual memory” is used to extend the available RAM.
BACKGROUND OF THE INVENTION
An exemplary computer system is shown in FIG.
1
. The computer system
100
includes a central processing unit (CPU)
101
for running applications, a disk storage
102
, a RAM
103
, and a user interface
104
. Random access memory, or RAM, is used in computer systems to store current processes—the code for currently-running applications and the data used by those applications. An operating system
105
, a memory management system
106
, which may be part of the operating system
105
, a file system
107
and applications programs
108
are typically stored in RAM
103
. Applications and data that are not currently running are generally stored in disk storage
102
, which cannot be accessed as quickly as RAM
103
.
Many computer systems use “virtual memory” when the available RAM
103
is insufficient to store the code for all current processes. Virtual memory is a disk file or files in disk storage
102
that serves as an extension of RAM
103
. Areas, or pages, of RAM
103
that are less frequently used are written to the paging file in virtual memory by the memory management system
106
. The pages are read back into RAM
103
by the memory management system
106
when they are needed.
This approach is efficient when the total amount of memory that is frequently used by applications does not exceed the amount of RAM available. However, if the total amount of frequently-used memory, also called actively-used memory, is more than the amount of RAM available, the memory management system must frequently read and write pages from virtual memory disk files into RAM. This is a relatively slow and time-consuming process, with the result that efficiency of memory access is drastically reduced.
Applications that monitor server utilization need to be able to assess utilization of basic resources, such as RAM, disk storage and CPU. Monitoring RAM utilization is difficult. Prior art approaches include monitoring the percentage of RAM utilization, and monitoring paging activity.
Percentage of RAM utilization is not a useful indicator, however, because a high percentage of RAM utilization may mean that there is insufficient RAM and more is needed, which indicates that the system is not operating efficiently. Alternatively, it may mean only that nearly all the available RAM is being actively used, but no more is needed, which indicates that the system is operating efficiently. In addition, percentage of RAM utilization does not indicate how much additional RAM might be required.
Paging activity may indicate that insufficient RAM is available and more is required. However, a sharp increase in paging activity may merely indicate that new processes have been started and others terminated, so that some applications and data are being moved into RAM. Furthermore, paging activity does not give any indication of how much additional RAM is required to avoid excessive paging and resulting inefficiency.
Accordingly, it would be desirable to provide an approach to monitoring RAM use that indicates whether the system has insufficient RAM. It would additionally be desirable for this approach to indicate, where RAM is insufficient, how much additional RAM should be added to the system for efficient RAM usage.
SUMMARY OF THE INVENTION
A method and apparatus is provided in which memory management parameters are extracted from the memory management system, and used to calculate an estimate of the additional RAM needed to avoid excessive paging. If this additional memory requirement is greater than zero, or some small threshold, for a sustained period, the system is alerted that additional RAM is required.
In a preferred embodiment, the memory management parameters include the rate of hard faults, sometimes called major faults, F
HF
, and the rate of soft faults, sometimes called minor faults, F
SF
. These parameters,along with the quantities of RAM marked as available and actually in use, are used to estimate the number of pages in virtual memory that are needed often but that do not fit in RAM: the “memory demand,” or “memory deficit.”
In particular, the memory demand, N
O
, is estimated by:
{haeck over (N)}
O
=C*N
U
*F
HF
/F
SF
where N
U
is the number of pages which the memory management system has designated as in use by current processes, and C (where C is a factor that may be multiplied by the right-hand side of the above equation) is a parameter indicating whether there is a page-writing activity. The parameter C is set equal to 1 if there is page-writing activity, and is 0 otherwise.
REFERENCES:
patent: 4460997 (1984-07-01), Harns
patent: 4660130 (1987-04-01), Bartley et al.
patent: 4758944 (1988-07-01), Bartley et al.
patent: 5388242 (1995-02-01), Jewett
patent: 5423029 (1995-06-01), Schieve
patent: 5530805 (1996-06-01), Tanabe
patent: 5555249 (1996-09-01), Hilley et al.
patent: 5561765 (1996-10-01), Shaffer et al.
patent: 5581736 (1996-12-01), Smith
patent: 5621883 (1997-04-01), Thoulon et al.
patent: 5673388 (1997-09-01), Murthi et al.
patent: 5689635 (1997-11-01), Petrosino
patent: 5696926 (1997-12-01), Culbert et al.
patent: 5717697 (1998-02-01), Yin
patent: 5720031 (1998-02-01), Lindsay
patent: 5742616 (1998-04-01), Torreiter et al.
patent: 5771346 (1998-06-01), Norman et al.
patent: 5831987 (1998-11-01), Spilo
patent: 5835704 (1998-11-01), Li et al.
patent: 5875474 (1999-02-01), Fabrizio et al.
patent: 5943693 (1999-08-01), Barth
patent: 6304949 (2001-10-01), Houlsdworth
patent: 6324631 (2001-11-01), Kuiper
patent: 6339779 (2002-01-01), Houldsworth
patent: 6349375 (2002-02-01), Faulkner et al.
patent: 6408313 (2002-06-01), Campbell et al.
patent: 6427154 (2002-07-01), Kolodner et al.
patent: 6516342 (2003-02-01), Feldman et al.
Chace C. P.
Hamaty Christopher J.
Networks Associates Technology Inc.
Silicon Valley IP Group PC
Sparks Donald
LandOfFree
Method, system and computer program product for using an... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method, system and computer program product for using an..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method, system and computer program product for using an... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3334311