Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Jan 2003 16:14:36 -0800
From:      David Schultz <dschultz@uclink.Berkeley.EDU>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        James Gritton <gritton@iserver.com>, freebsd-hackers@FreeBSD.ORG
Subject:   Re: What's the memory footprint of a set of processes?
Message-ID:  <20030131001436.GA10856@HAL9000.homeunix.com>
In-Reply-To: <200301301923.h0UJNT0l089037@apollo.backplane.com>
References:  <Pine.BSF.4.21.0301291145030.25856-100000@InterJet.elischer.org> <x7k7gnog4m.fsf@guppy.dmz.orem.verio.net> <20030130064448.GA7258@HAL9000.homeunix.com> <200301300719.h0U7JOfI086054@apollo.backplane.com> <20030130091419.GA7776@HAL9000.homeunix.com> <200301301923.h0UJNT0l089037@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Thus spake Matthew Dillon <dillon@apollo.backplane.com>:
>     It's not possible to get a wholely accurate count no matter what
>     you do.  For example, to truely know whether a process is using
>     a page you have to run through the process's page table (PMAP),
>     access the vm_page, then locate where in the shadow chain the VM object
>     the vm_page belongs to resides.  But since hardware page tables are
>     throw-away, the system could very well have thrown away whole page
>     tables so this method is no more accurate then any other.

Thanks for the explanations!  I still don't understand why this
doesn't work, assuming you don't care about nonresident pages:

for each process p in the set
	for each map entry e in p->vmspace->vm_map
		for each page m in e->object.vm_object->memq
			if I haven't seen this m.phys_addr yet in the scan
				resident_pages++

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030131001436.GA10856>