swapon和swapoff命令详解

  

基础命令学习目录首页html

 

原文连接:https://blog.csdn.net/yexiangCSDN/article/details/83182259linux

swapon命令用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来创建虚拟内存。vim

语法

swapon(选项)(参数)

选项

  1.  
    -a:将/etc/fstab文件中全部设置为swap的设备,启动为交换区;
  2.  
    -h:显示帮助;
  3.  
    -p <优先顺序>:指定交换区的优先顺序;
  4.  
    -s:显示交换区的使用情况;
  5.  
    -V:显示版本信息。

参数

交换空间:指定须要激活的交换空间,能够是交换文件和交换分区,若是是交换分区则指定交换分区对应的设备文件。缓存

实例

  1.  
    mkswap -c /dev/hdb4 (-c是检查有无坏块)
  2.  
    swapon -v /dev/hdb4
  3.  
    swapon -s
  4.  
    Filename type Size Used Priority
  5.  
    /dev/hda5 partition 506008 96 -1
  6.  
    /dev/hdb4 partition 489972 0 -2

 

swapoff命令用于关闭指定的交换空间(包括交换文件和交换分区)。swapoff实际上为swapon的符号链接,可用来关闭系统的交换区。网络

语法

swapoff(选项)(参数)

选项

-a:关闭配置文件“/etc/fstab”中全部的交换空间。

参数

交换空间:指定须要激活的交换空间,能够是交换文件和交换分区,若是是交换分区则指定交换分区对应的设备文件。app

实例

关闭交换分区post

swapoff /dev/sda2

 

扩展知识:利用swapoff和swapon刷新swap缓存性能

有时运行大量的进程后swap大量占用,达到30%的话机器会变得很慢

能够用如下两个命令清除刷新swap

swapoff -a
swapon -a

这样swap就还原到初始状态

如下是设置swap优先级的方法

swappiness
Ubuntu Feisty默认的vm.swappiness值是60,这一默认值已经很合适了。但你能够改小一些下降swap的加载,系统性能会有一点点的提高
输 入:
 学习

sysctl -q vm.swappinessurl


你会看到值是60, 更改:
 

sudo sysctl vm.swappiness=10


这 样你就将值由60改成10,这能够大大下降系统对于swap的写入,建议内存为512m或更多的朋友采用此方法。如你你发现你对于swap的使用极少,可 以将值设为0。这并不会禁止你对swap的使用,而是使你的系统对于swap的写入尽量的少,同时尽量多的使用你的实际内存。这对于你在切换应用程序 时有着巨大的做用,由于这样的话它们是在物理内存而非swap分区中。
若是你想永久得改变这一值,你须要更改 sysctl.conf 文件:
 

vim /etc/sysctl.conf


添加:
vm.swappiness=10
到末行,须要重启生效。
我发现对 于个人1G内存,将此值设为5是最合适的。

 

 

例:启用交换分区/dev/sda5。

[root@rhel ~]# swapon /dev/sda5

例:启用交换文件/swapfile。

[root@rhel ~]# swapon /swapfile

 

 

   swapon 是开启swap.
  相对的,便有一个关闭swap的指令,swapoff.

扩展资料一:linux系统swap分区

swap分区是必须有的,首先,它是日志文件系统得以发挥做用的依赖,在系统意外关闭的状况下,靠它来保存系统中的数据。其次,在运行一些比较耗内存的程序的时候(好比p2p下载),也要用到它。在这两种状况以外,swap分区处于一种闲置状态,好比:
# free
             total       used       free     shared    buffers     cached
Mem:        451436     213772     237664          0       6748     114248
-/+ buffers/cache:      92776     358660
Swap:       514040          0     514040
这种状况是一般的情形,但咱们不能所以忽视交换分区的重要做用。linuxso.com

个人两块硬盘各有一个swap分区,几个Linux共享这两个swap区,但用swapon -s检查swap分区时发现少了一个。因而运行:
# mkswap -c /dev/hdb4 (-c是检查有无坏块)
# swapon -v /dev/hdb4
而后正常了:
# swapon -s
Filename                                Type            Size    Used    Priority
/dev/hda5                               partition       506008 96      -1
/dev/hdb4                               partition       489972 0       -2

因为系统创建的方式各异,交换分区有时候彻底不须要手工mkswap和swapon(如正常的光盘安装或者网络安装),但有的时候须要简单地弄一下(好比借腹生子式的系统创建方式),若是syslog上面出现:
mkswap /dev/hdb4 : Invalid argument 提示的时候,就须要经历一个mkswap的过程才行

扩展资料二:简述建立swap虚拟内存的过程

大概步骤吧:
1.新建一个分区 用fdisk /dev/sda 进去去new一个分区 具体很少说了 w保存
而后partprobe 从新读入分区表
2.假设刚刚新建的分区为 /dev/sda6
那么mkswap /dev/sda6
3.swapon /dev/sda6 这样就能够了啊
用free 查看一下 就能看到虚拟内存增长了
用文件来增大虚拟内存也是同样的道理

 

 

范例1: 显示分区信息。

[root@hnlinux ~]# sfdisk -l //显示分区信息

Disk /dev/sda: 1305 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

  Device Boot Start   End  #cyls  #blocks  Id System
/dev/sda1  *   0+   12   13-  104391  83 Linux
/dev/sda2     13  1304  1292  10377990  8e Linux LVM
/dev/sda3     0    -    0     0  0 Empty
/dev/sda4     0    -    0     0  0 Empty

Disk /dev/sdb: 652 cylinders, 255 heads, 63 sectors/track

sfdisk: ERROR: sector 0 does not have an msdos signature
/dev/sdb: unrecognized partition
No partitions found
[root@hnlinux ~]#


范例2: 关闭交换分区。

[root@hnlinux ~]# swapoff /dev/sda2 // 关闭交换分区
[root@hnlinux ~]#

扩展知识:利用swapoff和swapon刷新swap缓存

有时运行大量的进程后swap大量占用,达到30%的话机器会变得很慢

能够用如下两个命令清除刷新swap

swapoff -a
swapon -a

这样swap就还原到初始状态

如下是设置swap优先级的方法

swappiness
Ubuntu Feisty默认的vm.swappiness值是60,这一默认值已经很合适了。但你能够改小一些下降swap的加载,系统性能会有一点点的提高
输 入:
 

sysctl -q vm.swappiness


你会看到值是60, 更改:
 

sudo sysctl vm.swappiness=10


这 样你就将值由60改成10,这能够大大下降系统对于swap的写入,建议内存为512m或更多的朋友采用此方法。如你你发现你对于swap的使用极少,可 以将值设为0。这并不会禁止你对swap的使用,而是使你的系统对于swap的写入尽量的少,同时尽量多的使用你的实际内存。这对于你在切换应用程序 时有着巨大的做用,由于这样的话它们是在物理内存而非swap分区中。
若是你想永久得改变这一值,你须要更改 sysctl.conf 文件:
 

vim /etc/sysctl.conf


添加:
vm.swappiness=10
到末行,须要重启生效。
我发现对 于个人1G内存,将此值设为5是最合适的。

 

3 、实例

关闭全部的交换分区

[root@localhost ~]#  swapoff  a         // 关闭全部交换分区

[root@localhost ~]#  free                // 查看内存使用状态

             total       used       free     shared   buffers     cached

Mem:       1659316     678908     980408          0      85608     369308

-/+ buffers/cache:     223992    1435324

Swap:            0          0          0          //swap 分区不使用

相关文章
相关标签/搜索