From owner-freebsd-hackers@FreeBSD.ORG Sat Jun 9 20:47:44 2012 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EEAB61065673 for ; Sat, 9 Jun 2012 20:47:44 +0000 (UTC) (envelope-from wojtek@wojtek.tensor.gdynia.pl) Received: from wojtek.tensor.gdynia.pl (wojtek.tensor.gdynia.pl [89.206.35.99]) by mx1.freebsd.org (Postfix) with ESMTP id 734528FC24 for ; Sat, 9 Jun 2012 20:47:38 +0000 (UTC) Received: from wojtek.tensor.gdynia.pl (localhost [127.0.0.1]) by wojtek.tensor.gdynia.pl (8.14.5/8.14.5) with ESMTP id q59KktDF016569; Sat, 9 Jun 2012 22:46:59 +0200 (CEST) (envelope-from wojtek@wojtek.tensor.gdynia.pl) Received: from localhost (wojtek@localhost) by wojtek.tensor.gdynia.pl (8.14.5/8.14.5/Submit) with ESMTP id q59KjuhC016330; Sat, 9 Jun 2012 22:46:00 +0200 (CEST) (envelope-from wojtek@wojtek.tensor.gdynia.pl) Date: Sat, 9 Jun 2012 22:45:56 +0200 (CEST) From: Wojciech Puchar To: Konstantin Belousov In-Reply-To: <20120609165217.GO85127@deviant.kiev.zoral.com.ua> Message-ID: References: <1339259223.36051.328.camel@revolution.hippie.lan> <20120609165217.GO85127@deviant.kiev.zoral.com.ua> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.2.7 (wojtek.tensor.gdynia.pl [127.0.0.1]); Sat, 09 Jun 2012 22:47:02 +0200 (CEST) Cc: Ian Lepore , freebsd-hackers@freebsd.org Subject: Re: wired memory - again! X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Jun 2012 20:47:45 -0000 > > First, all memory allocated by UMA and consequently malloc(9) is > wired. In other words, almost all memory used by kernel is accounted > as wired. > yes i understand this. still i found no way how to find out what allocated that much. > Second, the buffer cache wires the pages which are inserted into VMIO > buffers. So your observation is basically right, cached buffers means what are exactly "VMIO" buffers. i understand that page must be wired WHEN doing I/O. But i have too much wired memory even when doing no I/O at all. > that corresponding memory is removed from queues and put into wired > state. When buffers are dissolved, pages are unwired and deactivated. > > This behaviour is in fact required by VFS, since you do expect to access > buffer data when you get the buffer. >