在Ubuntu中交换相关的内存问题

时间:2010-12-18 13:05:48

标签: linux ubuntu swapfile

当我运行top并让它显示交换使用情况时,我得到以下输出。但是,在启动firefox之前,我已禁用与swapoff -a的交换。那么SWAP字段中显示的内容是什么? 当我执行cat /proc/meminfo时,我会为名为SwapCached的字段获取非零值。这是什么?我猜这是SWAP中显示的所有top值的汇总。这些与进程使用的总内存有何关系?

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  SWAP 
    COMMAND                                                                                                                                      
         1604 dumrat    20   0  287m  62m  26m R    1  3.1   0:05.03 225m firefox-bin                                                                                                                                  
         1415 dumrat     9 -11 94264 4668 3552 S    0  0.2   0:00.10  87m pulseaudio 

1 个答案:

答案 0 :(得分:0)

我的最佳猜测是这个。

当您说swapoff时,它会阻止任务进一步“交换”(技术上,它是分页,而不是交换),但不会从交换设备中删除已交换的页面。通常,各种共享库在加载时都会进行交换:它们在这里停留很长时间,在负载很高时没有浪费时间交换它们。只要活动进程需要这些库,这些库就在RAM中,但在交换空间中

也许Firefox使用了一些已映射到交换空间的librsries - Xlib,GTK等,这个交换空间与其“SWAP”列相反。 Linux倾向于将所有共享页面计入共享它们的每个进程,RAM与否。

再次,这是我的猜测;带上一粒盐。