VIRT 表示進程的虛擬(地址)空間大小,其包含進程實際使用的大小(申請的堆棧), 使用mmap映射的大小,包括外設RAM, 還有映射到本進程的文件(例如動態庫),還有進程間的共享內存。所以VIRT 表示的是當前這個進程能夠訪問到的所有空間大小
RES 表示進程的常駐內存大小,准確表示當前有多少物理內存被這個進程消費,這個和MEM是對應的, 這個大小永遠要比VIRT小,因為程序大部分使用到c庫
SHR 表示多少VIRT 實際可以共享的(包括內存和動態庫),舉例動態庫,SHR的值不總代表整個庫都是常駐內存的,因為有些程序使用到c庫的部分函數,但整個庫是被映射到進程的,並且計算到VIRT和SHR,但是只有該庫的一部分被使用到,即被裝載並記入到RES