TuxOnIce development has been sponsored by:

Redhat

Cyclades

LinuxFund

LACLinux

Open Source Development Labs

at-mirror
hosted by

gaugusch.at

Software Suspend - Features

Software Suspend's features include:

  • Image compression (LZF - very fast and highly recommended).
  • Full asynchronous I/O and readahead for synchronous I/O for maximum throughput.
  • Multithreaded compression & I/O.
  • Support for any number of swap partitions and/or files.
  • The ability to cancel a suspend cycle (during suspending) by pressing escape.
  • The ability to specify a maximum image size.
  • Support for saving a full image of your memory, resulting in a fast, responsive system after resuming.
  • Support for plugins: data transformers (compression, encryption) and new storage backends (NFS support is planned).
  • Works out of the box for most configurations.
  • Nice user interface (GenSplash compatible).
  • Support for Highmem (up to 4GB), SMP and preemptive kernels.
  • Scripting support.
  • Speed and reliability - Software Suspend has been extensively tested in a variety of configurations over many months. It is not guaranteed to be perfect, but bugs found will be hunted and fixed quickly.
  • Can be configured to be a drop-in replacement for swsusp (for swap partitions - swap files are configured more simply with TuxOnIce).
  • Preliminary FUSE support.
  • (Work in progress:) Cluster support.

Suspend-to-disk implementations explained

Since the original Software Suspend code was written by Gabor Kuti and Pavel Machek back in 1998, four different implementations have been created for the 2.6 kernel, all forks of the same original codebase. Here is a quick comparison between the three that still exist. The first column refers to CONFIG_SOFTWARE_SUSPEND in the 2.6 kernel. pmdisk has been merged back into the original "swsusp" implementation in the kernel, and hence is no longer listed here. The second column refers to what is now commonly called "TuxOnIce" (previously Suspend2) and is what this site largely deals with. The third is userspace swsusp, developed by Rafael Wysocki.

Name swsusp TuxOnIce uswsusp
Available in kernel 2.6.x patch against 2.6.x since 2.6.17
Kernel config option CONFIG_HIBERNATION CONFIG_TUXONICE CONFIG_HIBERNATION
Principle author Rafael Wysocki Nigel Cunningham Rafael Wysocki
PM subsystem required none none none
Telling kernel at boot where to save image resume=/dev/hda# resume=<file:|swap:>/dev/[node]<:sector>
If file & swap allocators are both compiled in, swap is the default.
How to activate suspend echo -n disk > /sys/power/state echo > /sys/power/tuxonice/do_suspend or echo disk > /sys/power/state if replacing swsusp is enabled. Userspace program
Telling kernel not to try and resume in case of a problem noresume noresume ?
Architecture support i386, ppc, x86_64, ia64 i386, ppc, x86_64, ia64 i386, ppc, x86_64, ia64
Max. Image size 1/2 memory See below 1/2 memory
Highmem support Yes (up to 4GB) Yes (up to 4GB) Yes (up to 4GB)
Discontiguous memory support Yes Yes Yes
SMP support Yes Yes Yes
Preemption support Yes Yes Yes
Compression No via cryptoapi - LZF recommended Yes, with libraries
Encryption No by writing to dm-crypt partition With libraries
Suspend-to-swapfile support No Yes Yes?
Suspend-to-multiple swap partitions/files No Yes No
Suspend-to-file support No Yes No
Modular support No Yes (post 2.2.9) No
Initrd support (needed for LVM/dm-crypt) Yes Yes Required
UML support No No No
Wake alarm support No Yes No
Cluster support No In progress No
Suspend-over-NFS support No No (also planned ;) No
Auto swapon when starting to hibernate No Yes No
Easy location of resume= values No Yes No
Reconfigure without rebooting No Yes No
Full mem. accounting, leak detection, failure path testing. No Yes No
Expected compression ratio to avoid freeing too much mem. No Yes No
Scripting support. No Yes No
Keep image mode (For kiosks). No Yes No
Mark resume attempted (sane default if resuming fails). No Yes No
Multithreaded I/O No Yes No
Readahead. No Yes No
Cluster support. No In progress No
Interactive debugging No Yes No
Cancel hibernating via keyboard No Yes Yes
Cancel resuming via keyboard No Yes No
Switch poweroff method while hibernating No Yes No
Checksummed image No Yes No
Unloadable modules when not in use No Yes No
Fuse support No Preliminary No
TuxOnIce saves the image in two parts. The first part consists of the page cache, and is generally 70%+ of the memory in use. TuxOnIce saves this first, since it's not needed while saving the remainder. It then makes an atomic copy of the remainder, using the pages previously saved, and stores the atomic copy. Working in this way, TuxOnIce can normally save a full image of memory. Only if the page cache is smaller than 50% and there is no other free memory will TuxOnIce be unable to save a full image of memory.
Last updated: Wed, 09 Jan 2008 11:00:17 +0800

Frozen penguins image by darkmetal
and adapted by Nigel Cunningham
"Tuxsicle" artwork by Pierre-Philippe Coupard

Copyright © 2003-2005 Bernard B