Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Thrashing (computer science)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Constant exchange between memory and storage}}In [[computer science]], '''thrashing''' occurs in a system with [[virtual memory]] when a computer's [[Computer memory|real storage]] resources are ''overcommitted'', leading to a constant state of [[paging]] and [[page fault]]s, slowing most [[Application software|application]]-level processing.<ref>{{cite journal|last = Denning | first = Peter J. | title = Thrashing: Its causes and prevention | journal= Proceedings AFIPS, Fall Joint Computer Conference |year = 1968 |url = http://www.cs.uwaterloo.ca/~brecht/courses/702/Possible-Readings/vm-and-gc/thrashing-denning-afips-1968.pdf | access-date = 2012-02-15 | pages = 915β922 | volume = 33}}</ref> This causes the [[Computer performance|performance of the computer]] to degrade or even collapse. The situation can continue indefinitely until the user closes some running applications or the active processes free up additional virtual memory resources. After initialization, most programs operate on a small number of code and data [[Memory paging|pages]] compared to the total memory the program requires. The pages most frequently accessed at any point are called the [[working set]], which may change over time. When the working set is not significantly greater than the system's total number of real storage ''page frames'', virtual memory systems work most efficiently, and an insignificant amount of computing is spent resolving page faults. As the total of the working sets grows, resolving page faults remains manageable until the growth reaches a critical point at which the number of faults increases dramatically and the time spent resolving them overwhelms the time spent on the computing the program was written to do. This condition is referred to as thrashing. Thrashing may occur on a program that randomly accesses huge data structures, as its large working set causes continual page faults that drastically slow down the system. Satisfying page faults may require freeing pages that will soon have to be re-read from disk. The term is also used for [[#Other uses|various similar phenomena]], particularly movement between other levels of the [[memory hierarchy]], wherein a process progresses slowly because significant time is being spent acquiring resources. "Thrashing" is also used in contexts other than virtual memory systems βfor example, to describe [[Cache (computing)|cache]] issues in computing, or [[silly window syndrome]] in networking.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)