zoukankan      html  css  js  c++  java
  • Linux-swap

    Linux交换区简介
    Swap partition
    Swap file

    Linux交换区简介

    Linux交换区相当与Windows的虚拟内存,大小通常要大于等于内存的大小。
    交换空间可用于两个目的,弥补物理内存(RAM)过小的问题;以及PC睡眠的支持。
    https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate

    • suspend (suspend to RAM)挂起到RAM方法会削减除RAM之外的大多数机器的电源,这是恢复机器状态所必需的。由于节省了大量电力,建议笔记本电脑在电池运行且盖子关闭(或用户处于非活动状态一段时间)时自动进入此模式。
    • hibernate (Suspend to disk)挂起到磁盘方法将机器的状态保存到swap交换空间并完全关闭计算机。打开机器电源后,状态将恢复。在此之前,功耗为零。
    • hybrid suspend 挂起到两种方法都会将机器的状态保存到swap交换空间,但不会关闭机器电源。相反,它调用通常挂起到RAM。因此,如果电池没有耗尽,系统可以从RAM恢复。如果电池电量耗尽,系统可以从磁盘恢复,这比从RAM恢复要慢得多,但机器的状态并没有丢失。

    Linux交换区:可以使用独立的分区,也可以使用一个文件。
    查看现有交换分区的几种方式:
    $ swapon
    NAME TYPESIZE USED PRIO
    /dev/sda12 partition 8G 0B -2
    $ swapon -show
    Filename Type Size Used Priority
    /dev/sda12partition 8386556 0 -2
    $ free -h
    totalusedfreesharedbuff/cache available
    Mem:7.8Gi 2.3Gi 3.6Gi 280Mi 1.9Gi 4.9Gi
    Swap: 8.0Gi0B 8.0Gi


    Swap partition

    查看/etc/fstab文件。
    # /dev/sdb6
    UUID=77727c05-e82e-426f-b1b2-9062be75ad62 /ext4 rw,relatime 0 1
    # /dev/sdb7 LABEL=Shome
    UUID=3591c8cd-47f7-4bf6-a417-e62b685f9144 /homeext4 rw,relatime 0 2
    # /dev/sdb9
    UUID=13802d9f-8485-4d1f-a08c-583abe64961f none swap defaults 0 0

    $ lsblk -f
    NAMEFSTYPE LABELUUID FSAVAIL FSUSE% MOUNTPOINT
    sdb
    ├─sdb6ext4 Sarch77727c05-e82e-426f-b1b2-9062be75ad62 14.1G48% /
    ├─sdb7ext4 Shome3591c8cd-47f7-4bf6-a417-e62b685f9144 13G55% /home
    └─sdb9swap13802d9f-8485-4d1f-a08c-583abe64961f[SWAP]

    再增加一个交换区
    $ sudo mkswap /dev/sda12
    Setting up swapspace version 1, size = 8 GiB (8587833344 bytes)
    no label, UUID=08aba37c-1b94-4d14-af39-cd416e0ecf57
    $ sudo swapon /dev/sda12
    $ swapon
    NAME TYPESIZE USED PRIO
    /dev/sdb9partition 8G 0B -2
    /dev/sda12 partition 8G 0B -3

    编辑/etc/fstab文件,添加sda12作为交换分区。
    # /dev/sda12
    UUID=08aba37c-1b94-4d14-af39-cd416e0ecf57 none swap defaults 0 0

    删除一个交换分区,确保未被使用,可以重启后执行。
    $ sudo swapoff /dev/sdb9
    $ swapon
    NAME TYPESIZE USED PRIO
    /dev/sda12 partition 8G 0B -2
    注:别忘了编辑/etc/fstab文件,删除掉/dev/sdb9交换区的信息行。


    Swap file

    https://wiki.archlinux.org/index.php/Swap#Swap_file
    使用fallocate创建一个交换文件,单位可以使用(M = Mebibytes,G = Gibibytes)。
    # fallocate -l 512M /swapfile
    # fallocate -l 1G /swap
    注意: fallocate可能会导致某些文件系统(例如F2FS)出现问题。[1]作为替代方案,使用dd更可靠,但速度更慢:
    # dd if=/dev/zero of=/swapfile bs=1M count=512 status=progress

    # chmod 600 /swapfile
    # mkswap /swapfile
    # swapon /swapfile

    将交换文件添加到/etc/fstab文件
    /swapfile none swap defaults 0 0

    Remove swap file
    # swapoff /swapfile
    # rm -f /swapfile

  • 相关阅读:
    统计nginx日志里访问次数最多的前十个IP
    while 格式化输出 运算符 字符编码
    Python 软件安装
    Python 基础
    Typora 基础的使用方法
    Django ORM (四) annotate,F,Q 查询
    Django 惰性机制
    Django ORM (三) 查询,删除,更新操作
    Django ORM (二) 增加操作
    Django ORM (一) 创建数据库和模型常用的字段类型参数及Field 重要参数介绍
  • 原文地址:https://www.cnblogs.com/sztom/p/10931023.html
Copyright © 2011-2022 走看看