基础命令学习目录首页

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

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

语法

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”中所有的交换空间。

参数

交换空间:指定需要激活的交换空间,可以是交换文件和交换分区,如果是交换分区则指定交换分区对应的设备文件。

实例

关闭交换分区

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.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是最合适的。

例:启用交换分区/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 分区不使用

swapon和swapoff命令详解的更多相关文章

  1. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

  2. linux yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  3. Linux下ps命令详解 Linux下ps命令的详细使用方法

    http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...

  4. Docker命令详解

    Docker命令详解   最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...

  5. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  6. android adb 命令详解

    ADB (Android Debug Bridge)  是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设 ...

  7. Git 常用命令详解

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  8. Top 命令详解

    Top 命令详解 先感受一下top命令的执行结果吧!哈哈-- top - 17:32:34 up 3 days, 8:04, 5 users, load average: 0.09, 0.12, 0. ...

  9. Ruby Gem命令详解

    转自:http://www.jianshu.com/p/728184da1699 Gem介绍: Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.o ...

随机推荐

  1. 预备作业二——有关CCCCC语言(・᷄ᵌ・᷅)

    有关CCCCC语言(・᷄ᵌ・᷅) 下面又到了回答老师问题的时候啦-(・᷄ᵌ・᷅) 有些问题正在深思熟虑中!敬请期待近期的不间断更新! 你有什么技能比大多人(超过90%以上)更好? 针对这个技能的获取你 ...

  2. etherlime-4-Etherlime CLI

    Etherlime CLI命令行界面 Installing & Help Syntax语法 npm i -g etherlime Install the global etherlime to ...

  3. memcached/memcache安装

    memcached安装 查找memcached:        yum  search  memcached安装 memcached             yum  -y install memca ...

  4. Windows与Linux之间的文件自动同步

    问题:在工作中遇到一个场景,需要每天定时将Linux机器上的文件自动同步到Windows机器上. 解决方案有两个: 1.在Windows 机器上设置共享目录,然后在Linux机器上挂载共享 目录,每天 ...

  5. C#在WinForm中重写ProgressBar控件(带%的显示)

    废话少说,直接上码: namespace csPublish { [ToolboxItem(true)] class textProgressBar : System.Windows.Forms.Pr ...

  6. K2使用Nginx做负载均衡

    K2使用Nginx做负载均衡 K2目前是支持Load Balancing这种方式,来做负载均衡,也可以使用F5来做负载均衡,但这次我使用nginx来实现K2的负载均衡 下载nginx 请下载nginx ...

  7. IOS马甲包(诚招大量开发)

    马甲包的字面意思给产品穿马甲,但是我认为马甲包更像是产品的一种分身,一种和产品一样拥有灵魂,拥有肉身的一种分身.它能为产品带来同样的功能效果. 一.什么是马甲包通过技术手段,多次上架同一款产品的方法. ...

  8. mysql 系统用户最大文件打开数限制

    纸上得来终觉浅,绝知此事多宕机...记录一下自己很蠢的一次故障处理过程. 上周的时候,一个刚上线的系统又开始反映登不上了,因为最近这个系统也老是出现这个问题,开发也一直在找问题中,所以也没太在意.于是 ...

  9. Linux中定时删除超过指定大小的文件夹

    背景: 开发环境总是动不动就没有空间了, 大部分都是debug日志.所以有必要在日志很疯狂的时候,删除不必要的日志. 思路:一. 书写删除日志文件脚本: 定时任务执行.  但是有时候的日志是需要保存用 ...

  10. vue实现首页导航切换不同路由的方式

    vue实现切换首页路由导航 ,根据切换的不同导航跳转不同的路由,以及当前选中的导航添加选中样式.  html代码: <nav> <!-- 导航栏 --> <div cla ...