2009-11-22 24 views
1

我需要找出进程分配多少内存页面? 每页是4096,进程内存使用情况我有一些问题找到正确的值。当我在寻找国美电器系统显示器时,在内存映射下有几个值可供选择。找出一个进程在Linux上使用多少内存页面

谢谢。

这是为了将内存使用量除以页数并验证页面大小。

回答

5

很难准确地分配正确的内存量:存在与其他进程共享的页面(库的部分部分),从未使用由brk和匿名mmap分配的内存,mmaped文件不能从磁盘完全获取由于高效的处理算法,只触及文件的一小部分等,换出页面,脏页面将被写入磁盘等。

如果你想处理所有这些复杂性,并找出真正的计数页面上,详细信息可在/proc/<pid>/smaps获得,并且有工具,如mem_usage.pysmem.pl(易于使用)将其变为或多或少可用的摘要。

0

这将是“驻留集大小”,假设您的进程不使用交换。

请注意,进程可能会分配更多的内存(“虚拟内存大小”),但只要它不写入内存,它就不会由物理内存表示,无论是在RAM中还是在磁盘上。

一些系统工具,如top,显示每个进程的“交换”的巨大价值 - 这当然是完全错误的,值是VMS和RSS之间的差异,很可能是那些未使用但分配的内存页。

相关问题