In a virtual memory system, if a process does not have enough memory frames allocated to it to hold all the pages it is actively using, it will constantly experience page faults.
A page fault occurs when the process tries to access a page that is not currently in main memory. The OS must then swap out a page from memory to disk and swap in the required page from disk.
Thrashing is a condition where a process spends more time paging (swapping pages between memory and disk) than actually executing.
This happens when the system is overloaded and there is not enough physical memory to accommodate the working sets of all active processes. It leads to very high disk I/O activity and extremely poor system performance, as the CPU is mostly idle waiting for pages to be swapped.