From owner-freebsd-current@FreeBSD.ORG Mon Nov 22 12:28:45 2010 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 55B7D1065675; Mon, 22 Nov 2010 12:28:45 +0000 (UTC) (envelope-from danny@cs.huji.ac.il) Received: from kabab.cs.huji.ac.il (kabab.cs.huji.ac.il [132.65.16.84]) by mx1.freebsd.org (Postfix) with ESMTP id 097448FC12; Mon, 22 Nov 2010 12:28:44 +0000 (UTC) Received: from pampa.cs.huji.ac.il ([132.65.80.32]) by kabab.cs.huji.ac.il with esmtp id 1PKV2O-000JJ9-38; Mon, 22 Nov 2010 13:58:24 +0200 X-Mailer: exmh version 2.7.2 01/07/2005 with nmh-1.2 To: Gleb Kurtsou In-reply-to: <20101122104954.GA2299@tops> References: <20101122104954.GA2299@tops> Comments: In-reply-to Gleb Kurtsou message dated "Mon, 22 Nov 2010 12:49:54 +0200." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 22 Nov 2010 13:58:23 +0200 From: Daniel Braniss Message-ID: Cc: freebsd-current@freebsd.org, Ivan Voras Subject: Re: tmpfs out of space (ZFS related?) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Nov 2010 12:28:45 -0000 > On (21/11/2010 22:22), Ivan Voras wrote: > > I got a curious error today while starting PostgreSQL, complaining about > > "out of space" errno while creating lock file on /tmp. > > > > /tmp on this machine is mounted as tmpfs and indeed, here is the statistic: > > > > biggie:/# df -i > > Filesystem 1M-blocks Used Avail Capacity iused ifree %iused > > Mounted on > > /dev/mfid0s1a 9912 5193 3926 57% 306079 1012831 23% / > > devfs 0 0 0 100% 0 0 100% /dev > > fdescfs 0 0 0 100% 4 11092 0% > > /dev/fd > > tmpfs 0 0 0 100% 9 0 100% /tmp > > tank 376044 0 376044 0% 4 770138347 0% /tank > > tank/ports 376658 614 376044 0% 145919 770138347 0% > > /usr/ports > > tank/mysql 376073 29 376044 0% 102 770138347 0% > > /var/db/mysql > > tank/pgdata90 400469 24425 376044 6% 1047 770138347 0% > > /tank/pgdata90 > > > > On the other hand, "top" reports this: > > > > last pid: 79667; load averages: 0.08, 0.68, 0.77 up 1+09:12:13 > > 00:11:33 > > 44 processes: 1 running, 43 sleeping > > CPU: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle > > Mem: 13M Active, 46M Inact, 15G Wired, 232K Cache, 1458M Buf, 8358M Free > > Swap: 1024M Total, 1024M Free > > > > Note the "8358M free" report. > That's probably integer overflow, could you try specifying max > size as mount option. There was a series of integer overflows in tmpfs. > Used and available are 0 in df output. On my system I have: > % df > Filesystem Size Used Avail Capacity Mounted on > tmpfs 4.3G 4.0K 4.3G 0% /usr/obj/ports > > Also note, that tmpfs does somewhat weired thing on constantly > recalculating available space based on free memory/swap (not sure if > specifying max size would fix it). > > Did you try double copy elimination patch by kib@? > http://lists.freebsd.org/pipermail/freebsd-fs/2010-June/008786.html > > It doesn't apply cleanly to current any more, but fixing it shouldn't be > hard. The patch wouldn't fix this particular issue but looks very > promising. > > Thanks, > Gleb > > > The server has ZFS and was doing IO intensive database work on it; the 8 > > GB free memory comes from PostgreSQL being restarted and freeing the > > memory (but failing to start again...). > > > > Starting PostgreSQL gets me this message: > > Nov 22 00:18:24 biggie postgres[79696]: [1-1] FATAL: could not write > > lock file "/tmp/.s.PGSQL.5432.lock": No space left on device > > > > This is 8-STABLE amd64. > > > > Running "touch /tmp/abc" works, and creates a file. Running "echo abc > > > /tmp/abc" doesn't return an error but *doesn't write anything to the > > file*, just creates a directory entry. > > > > The status doesn't change over time, i.e. "df" on tmpfs always shows "0 > > free". out of space is sometimes caused by out of inodes. what does df -i say? you can increase the # of inodes, see man mdmfs my .5 danny