Date: Sat, 8 Sep 2007 17:17:04 +0200 From: Peter Schuller <peter.schuller@infidyne.com> To: freebsd-current@freebsd.org Subject: Swapping on ZFS - stability issue Message-ID: <200709081717.05006.peter.schuller@infidyne.com>
next in thread | raw e-mail | index | archive | help
Hello,
Yesterday a machine went unresponsive (pinged, TCP connections died instantly
after establishment) died after someone started MySQL with cranked up buffer
sizes.
When I got to the machine there was no sensible message on the console, but I
did see output to the effect of "swap", "pager" and such all garbled.
The machine had swap configured on a ZVOL which made me suspicious, so after
rebooting I tried running a simple loop:
for (int i =0 ; i < 4000; i++) {
char* mem = (char*)malloc(1024*1024);
memset(mem, NULL, 1024*1024);
}
The machine swaped a select few megs and then died completely (no messages;
couldn't kill top or the test application, though the console still worked).
This was done on a machine with 4 GB of RAM and 4 GB of swap on a ZVOL on
7-CURRENT.
Later on I tried this on my workstation too (3 GB of RAM). Swapping to
glabel-on-disk behaved as you would expect; it swapped hundreds of megs to
swap device without the system every being adversely affected beyond the
obvious result of disk activity and memory pressue.
However, swapping either to a ZVOL or a file (through md) on ZFS exhibited
similar behavior to that observed on the original server; it would get off a
few megs fairly slowly followed by the system becoming completely unusable,
with both top and the test app not being killable by CTRL-C, though virtual
console switching was operational.
Swapping to ZFS was significantly slower (on the order of factor 10 or so),
yet I do not believe slowness in and of itself is the only explanation for
the difference (as I would still have expected to be able to recover, even if
it might have taken a bit longer).
I'll see if I can confirm behavior on a more recent CURRENT. The above was on
CURRENT:s from 1-2 months ago in both cases.
--
/ Peter Schuller
PGP userID: 0xE9758B7D or 'Peter Schuller <peter.schuller@infidyne.com>'
Key retrieval: Send an E-Mail to getpgpkey@scode.org
E-Mail: peter.schuller@infidyne.com Web: http://www.scode.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200709081717.05006.peter.schuller>
