Skip site navigation (1)Skip section navigation (2)
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>