There is no command that gives the “actual memory usage of a process” because there is no such thing as the actual memory usage of a process.
Each memory page of a process could be (among other distinctions):
1.Transient storage used by that process alone.
2.Shared with other processes using a variety of mechanisms.
3.Backed up by a disk file.
4.In physical memory or swap.
I think the “dirty” figure adds up everything that is in RAM (not swap) and not backed by a file. This includes both shared and non-shared memory (though in most cases other than forking servers, shared memory consists of memory-mapped files only).
The information displayed by pmap comes from /proc/PID/maps and /proc/PID/smaps. That is the real memory usage of the process — it can't be summarized by a single number.
Christian
Network Admin
Free SharePoint Hosting