Giter Site home page Giter Site logo

meanpossum / others-swapspace Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tookmund/swapspace

0.0 0.0 0.0 346 KB

A fork of Jeroen T. Vermeulen's excellent dynamic swap space manager

License: GNU General Public License v2.0

Shell 36.28% C 60.05% Makefile 2.51% M4 1.16%

others-swapspace's Introduction

logo

Swapspace - dynamic swap manager for Linux

N.B. If you want suspend and resume to work you will still need a static swapfile!

Where to start

If you cloned this repo be sure to run autoreconf -i to make the configure script. If you downloaded a tarball from github the configure script should be there already. For detailed installation instructions see INSTALL, but it usually just boils down to ./configure && make && make install

Be sure to install the relevant initscript as well to have this run at startup. Swapspace ships a systemd unit file as swapspace.service that should be installed in /etc/systemd/system/ or a SysVinit script as swapspace.lsbinit that should be installed in /etc/init.d/ as just swapspace.

If you installed to a non-standard location (not /usr/local), you'll have to update these init scripts to use the correct location.

The installation procedure creates a directory /var/lib/swapspace (or rather /usr/local/var/lib/swapspace, or whatever you set localstatedir to in configure), which must be accessible to the system's superuser (root) only; granting any kind of access for this directory to an untrusted user constitutes a serious security hole. As of version 1.16, swapspace will enforce correct permissions on this directory.

According to the Filesystem Hierarchy Standard, other appropriate places for this kind of file might be /var/tmp or /var/run. The former was not deemed appropriate because it is accessible to all users, and the latter because it's meant for very small files.

Files in /var/lib survive reboots whereas those in /var/tmp and /var/run need not. Obviously any data in swap files can be safely erased on reboot--it may arguably be safer. But keeping your swap files across reboots means you spend less time waiting for swap files that you also needed the last time you used your computer.

What it does for you

This is a system daemon for the Linux kernel that eliminates the need for large, fixed swap partitions.

Usually when you install a GNU/Linux system, it sets up a swap partition on disk. The swap partition serves as virtual memory, so you may need a lot of it. But you can't store data there, so you don't want to sacrifice too much disk space. And it's not always easy, or safe, to change its size afterwards!

Running swapspace solves that problem. You no longer need a large swap partition. You can even do without the whole thing. The program manages swap files for you. These work just like partitions, except they're normal files. You can add more when you need them, or delete some when you want the disk space back. And that is exactly what swapspace does. It constantly monitors your system's virtual-memory needs and manages a pool of swap files accordingly.

With swapspace you can install GNU/Linux in one single big partition, without regrets later about picking the wrong size. Your system can handle the occasional memory-intensive task, without eating up disk space that you'll never get back.

Swapspace is made available for use under the GNU General Public License (GPL). See the file COPYING for an open copyright license.

Copyright (C) 2005, 2006 Software Industry Promotion Agency (SIPA), Thailand.

Copyright (C) 2010, 2012 Jeroen T. Vermeulen.

Written by Jeroen T. Vermeulen.

Maintained by Jacob Adams.

When not to use it

In its current form, swapspace is probably not a good choice for systems that need to remain responsive at all times. Depending on the system and the circumstances, the creation of a large new swapfile can take as long as half a minute and occupy quite a lot of the system's attention. The program minimizes the impact, but it wouldn't be very useful if it never created any swapfiles at all!

The slowdown happens in operating-system code, so there isn't much we can do about it. It would help if the kernel were able to extend a swap file that's already in use. But that is of course the price you pay for virtual memory: slower but cheaper. If your system is too slow because there's not enough memory, the ultimate answer is still: try to use less or buy more!

See also

Home page: https://github.com/Tookmund/swapspace

Old Home page: http://pqxx.org/development/swapspace/

You'll find a manual under "doc" in the source tree. Read it with:

man -l doc/swapspace.8

For the technical details of the algorithm used to allocate swapfiles, see doc/technicaldetails.md

For a comparison with other swapspace managers, see doc/comparison.md

others-swapspace's People

Contributors

tookmund avatar rotdrop avatar chungy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.