What is the difference between USED and VIRT? USED is "RES" + "SWAP". Is "VIRT - USED" equal to pages that have been mapped but not used?
Sim. Em geral, esse é o espaço alocado pelo programa que ele nunca tocou (muitas coisas são alocadas em grandes blocos, muitas vezes com a sobrecarga, porque a alocação de espaço é computacionalmente cara).
Does "VIRT" or "USED" include the size used by kernel space?
Nenhum deles é responsável pelo espaço alocado em nome do processo no espaço do kernel. Na maioria dos casos, isso não importa, porque a maioria dos programas simplesmente não usa muito espaço na memória do kernel.
Does "RES" contain "CODE" and "DATA"?
Sim, mas não necessariamente todos os dois. CÓDIGO e DADOS podem residir parcialmente no SWAP (eles podem realmente residir inteiramente no SWAP, mas somente se o processo não estiver realmente executando nenhum código no momento).