Show real swap usage for each individual process
![Image](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9qlWLqzyP5NVoFP-D3jOKA3mTmAhbeumoDnH2DPXLry_nlkAk5dns8md_n2fypNFSr_EQsWud7j_NV1sv_3w_qXcghTUf952G0ALm_YxDooi_bKFvGWlP005y7qLAt741jiuG/s400/top-with-swap.jpg)
Update: the kernel patch is already in 2.6.34-rcN. Currently, in top, the SWAP column only shows the difference between VIRT and RES: case P_SWP: MKCOL(scale_num(PAGES_TO_KB(p->size - p->resident), w, s)); So currently the value is of no use. As a matter of fact, a recent enough kernel has provided the information which is needed to calculate the swap usage for each process. It is in /proc/$PID/smaps. But using smaps may affect top's performance because you have to calculate the sum yourself. But with this patch https://patchwork.kernel.org/patch/56929/ , the kernel will keep track of each process's swap usage for you. This patch (maybe not exactly in the same shape) is already in mmotm tree ( http://userweb.kernel.org/~akpm/mmotm/ ) 2.6.34-rcN. However, checking the /proc/$PID/status file directly may not be a thing which people would like to do. So I decided to make a patch for ps and top. Now it seems to be working. This is the vanilla ps: $ ps -o m_swap,comm...