In a virtual memory system, it is the excessive swapping of pages of data between memory and the hard disk, causing the application to respond more slowly. The virtual memory function tracks page usage and keeps often-used pages in memory as much as possible. However, the more applications that are kept open in computers with limited memory, the more thrashing occurs. For an explanation of the paging operation, see virtual memory.|
Poor program design may also contribute to thrashing. Good program design dictates that the code for the core processing routines is kept contiguous. If core components are at all ends of the executable package, more thrashing occurs, but once again, when there is not enough memory.
The term may also be used to refer to any situation in which multiple processes are competing for the same resource, and the excessive swapping back and forth between connections causes a slowdown.