Date: Mon, 22 Nov 2010 13:58:23 +0200 From: Daniel Braniss <danny@cs.huji.ac.il> To: Gleb Kurtsou <gleb.kurtsou@gmail.com> Cc: freebsd-current@freebsd.org, Ivan Voras <ivoras@freebsd.org> Subject: Re: tmpfs out of space (ZFS related?) Message-ID: <E1PKV2O-000JJ9-38@kabab.cs.huji.ac.il> In-Reply-To: <20101122104954.GA2299@tops> References: <icc2ih$e5t$1@dough.gmane.org> <20101122104954.GA2299@tops>
next in thread | previous in thread | raw e-mail | index | archive | help
> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1PKV2O-000JJ9-38>