Thrashing describes a state in virtual memory systems where the operating system spends more time swapping pages in and out of disk than executing processes. This leads to excessive page I/O, which degrades system performance instead of improving it, and can eventually force a reduction in the degree of multiprogramming.