diff --git a/lib/Resmon/Module/SWAPSIZE.pm b/lib/Resmon/Module/SWAPSIZE.pm
new file mode 100644
index 0000000000000000000000000000000000000000..832ad0382099f93361170f76e24afdda774bc77b
--- /dev/null
+++ b/lib/Resmon/Module/SWAPSIZE.pm
@@ -0,0 +1,22 @@
+package Resmon::Module::SWAPSIZE;
+use Resmon::Module;
+use Resmon::ExtComm qw/cache_command/;
+use vars qw/@ISA/;
+@ISA = qw/Resmon::Module/;
+
+sub handler {
+  my $arg = shift;
+  my $os = $arg->fresh_status();
+  return $os if $os;
+  my $object = $arg->{'object'};
+  my $output = cache_command("df -k /tmp", 30);
+  my ($line) = grep(/^swap/, split(/\n/, $output));
+  if($line =~ /(\d+)\s+(\d+)\s+(\d+)\s+(\d+)%/) {
+    if($1 >= $arg->{'limit'}) {
+      return $arg->set_status("OK($1 k size)");
+    }
+    return $arg->set_status("BAD($1 k size)");
+  }
+  return $arg->set_status("BAD(no data)");
+};
+