我需要找出进程分配多少内存页面? 每页是4096,进程内存使用情况我有一些问题找到正确的值。当我在寻找国美电器系统显示器时,在内存映射下有几个值可供选择。找出一个进程在Linux上使用多少内存页面
谢谢。
这是为了将内存使用量除以页数并验证页面大小。
我需要找出进程分配多少内存页面? 每页是4096,进程内存使用情况我有一些问题找到正确的值。当我在寻找国美电器系统显示器时,在内存映射下有几个值可供选择。找出一个进程在Linux上使用多少内存页面
谢谢。
这是为了将内存使用量除以页数并验证页面大小。
很难准确地分配正确的内存量:存在与其他进程共享的页面(库的部分部分),从未使用由brk
和匿名mmap
分配的内存,mmaped文件不能从磁盘完全获取由于高效的处理算法,只触及文件的一小部分等,换出页面,脏页面将被写入磁盘等。
如果你想处理所有这些复杂性,并找出真正的计数页面上,详细信息可在/proc/<pid>/smaps
获得,并且有工具,如mem_usage.py
或smem.pl
(易于使用)将其变为或多或少可用的摘要。
这将是“驻留集大小”,假设您的进程不使用交换。
请注意,进程可能会分配更多的内存(“虚拟内存大小”),但只要它不写入内存,它就不会由物理内存表示,无论是在RAM中还是在磁盘上。
一些系统工具,如top,显示每个进程的“交换”的巨大价值 - 这当然是完全错误的,值是VMS和RSS之间的差异,很可能是那些未使用但分配的内存页。