精华内容
下载资源
问答
  • 如果你正在使用的Win8或者Win8.1,你会在系统安装分区(C盘)根目录中发现一个名为Swapfile.sys的文件(注:该文件为受系统保护的隐藏文件),文件大小为256MB。这个文件在以前版本的Windows中并未出现,那么这个...
    

    >>>如果你正在使用的是Win8或者Win8.1,你会在系统安装分区(C盘)根目录中发现一个名为Swapfile.sys的文件(注:该文件为受系统保护的隐藏文件),文件大小为256MB。这个文件在以前版本的Windows中并未出现,那么这个神秘的Swapfile.sys文件究竟有何用途呢?

    >>>关于swapfile.sys,在微软technet社区中有下面的一段解释:

    >>>This is a special type of pagefile used internally by the system to make certain types of paging operations more efficient.

    >>>翻译过来就是:Swapfile.sys是系统内部使用的一种特殊的页面文件,使用该文件可以让一些特殊类型的分页操作变得更加高效。

    >>>那么,什么是页面文件呢?

    >>>在系统安装分区内你可以找到一个名为Pagefile.sys的文件,这就是页面文件。页面文件通常也叫做虚拟内存文件。当你的电脑可用内存不足时,系统会将内存中相对来说不活跃的部分保存到Pagefile.sys文件中,从而释放物理内存给新的任务。如果系统要重新把页面文件中的部分内容读回内存,那么就需要把内存中其他部分内容再写进Pagefile.sys为将要读回的内容腾出空间。

    >>>Windows就是利用这样的机制达到增大“内存”的目的的。

    >>>那么,在Win8/Win8.1中为什么要再加一个“页面文件”,即Swapfile.sys文件呢?

    >>>我们知道在Win8、Win8.1中引入了一种叫做Metro/Mordern的新型应用。针对这种新型应用,为了和传统的虚拟内存管理方式有所区别,于是就有了Swapfile.sys文件——用于冻结(暂停)/恢复Metro/Mordern应用。

    >>>其工作机制与Pagefile.sys相似。在Win8中除非在任务管理器中结束应用进程,否则Metro应用只能暂停而不会完全关闭。当电脑可用内存不足时,系统会将处于暂停状态的Metro/Mordern应用工作集转移至硬盘中的Swapfile.sys文件中,以此来释放出物理内存空间。当用户激活被暂停的Metro/Mordern应用时,会再次从Swapfile.sys读取该应用工作集,这样也可以提高打开应用的速度。

    >>>要说明的是,在Win8.1中微软做了一些调整,在将应用拉至窗口底部时停留一段时间,应用窗口会做一次180°翻转动作,这样就可以彻底关闭Metro应用释放物理内存空间了。

    >>>注:
    >>>1、微软官方并没有相关文章详细解释Swapfile.sys文件的作用。关于这个文件,目前已知的只有这么多。
    >>>2、关闭虚拟内存后,Swapfile.sys文件也会自动消失。
    >>>3、从VHD启动的的Win8/Win8.1可能没有这个文件。
    >>>4、该文件与快速启动应该没有关系,快速启动利用的是休眠功能,与之相关的文件为Hiberfil.sys(休眠文件)。


    
    展开全文
  • Ansible-ansible-swapfile.zip

    2019-09-18 10:26:58
    Ansible-ansible-swapfile.zip,使用ansible创建和配置交换文件什么是ansible swap file?,ansible一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
  • 1.什么是swap file 在linux中打开文件的时候在硬盘上为这个文件开辟的一段空间 2.为什么就会出现 Found a swap file by the name xx 当某次对文件进行编辑的时候,因为某些意外导致该次编辑异常退出,则...

    1.什么是swap file

    在linux中打开文件的时候在硬盘上为这个文件开辟的一段空间



    2.为什么就会出现  Found a swap file by the name xx

    当某次对文件进行编辑的时候,因为某些意外导致该次编辑异常退出,则最后其swap file 不能删除,

    则会出现 Found a swap file by the name xx


    3.怎么解决

    删掉即可,注意其实隐藏文件  ls -a 即能查看

    展开全文
  • 一般当我们在linux下使用...输入rm加上刚刚复制的内容我们发现还没有按回车,直接画面就变成这个样子了,至于为什么这样子,我也不知道,本来一步就可以删除成功的。 接下来我们还需要在操作一步。 四、右键继续复制选.

    一般当我们在linux下使用vim编辑代码时,突然电脑断网导致云服务器与我们电脑断开连接,当电脑连上网后,再次登录该文件,会弹出如下窗口。

    在这里插入图片描述

    解决方案:

    一、选中生成出错文件的路径,右键复制该路径。

    复制是从 ~ 一直到 .swp。
    在这里插入图片描述

    二、输入q退出该界面。

    输入q后直接会退出该界面。
    在这里插入图片描述

    三、输入rm+刚刚复制的内容

    q
    输入rm加上刚刚复制的内容我们发现还没有按回车,直接画面就变成这个样子了,至于为什么这样子,我也不知道,本来一步就可以删除成功的。
    接下来我们还需要在操作一步。

    四、右键继续复制选中的内容

    在这里插入图片描述
    接着清空该行,按下键盘的上箭头键也就是PguP键,这时我们发现会出现我们刚才上一步的操作。
    在这里插入图片描述

    五、右键粘贴我们刚才选中的内容

    在这里插入图片描述
    右键粘贴后,按回车删除成功。再次vim进入后就不会在弹出该窗口了。

    展开全文
  • 一、什么是文件页?什么是脏页?什么是匿名页? 二、linux swap原理 换出 换入 三、内存回收的时机 1、直接内存回收 2、kswapd0内核线程 四、NUMA 与 Swap关系 五、swappiness 一、什么是文件页?什么是脏...

    目录

     

    一、什么是文件页?什么是脏页?什么是匿名页?

    二、linux swap原理

    换出

    换入

    三、内存回收的时机

    1、直接内存回收

    2、kswapd0内核线程

    四、NUMA 与 Swap关系

    五、swappiness


    一、什么是文件页?什么是脏页?什么是匿名页?

    1、缓存和缓冲区,就属于可回收内存。它们在内存管理中,通常被叫做文件页(File-backed Page)

    此外除了缓存和缓冲区,通过内存映射获取的文件映射页,也是一种常见的文件页。它也可以被释放掉,下次再访问的时候,从文件重新读取。

    2、大部分文件页,都可以直接回收,以后有需要时,再从磁盘重新读取就可以了。而那些被应用程序修改过,并且暂时还没写入磁盘的数据(也就是脏页),就得先写入磁盘,然后才能进行内存释放

    脏页的写入磁盘的方式:

    • 系统调用 fsync ,把脏页同步到磁盘中
    • 也可以交给系统,由内核线程 pdflush 负责这些脏页的刷新

    3、应用程序动态分配的堆内存称为匿名页(Anonymous Page)
    堆内存很可能还要再次被访问,当然不能直接回收了。非常正确,这些内存自然不能直接释放

    但是,如果这些内存在分配后很少被访问,似乎也是一种资源浪费。是不是可以把它们暂时先存在磁盘里,释放内存给其他更需要的进程?这就是Linux 的 Swap 机制。Swap 把这些不常访问的内存先写到磁盘中,然后释放这些内存,给其他更需要的进程使用。再次访问这些内存时,重新从磁盘读入内存就可以了。

    二、linux swap原理

    Swap 把这些不常访问的内存先写到磁盘中,然后释放这些内存,给其他更需要的进程使用。再次访问这些内存时,重新从磁盘读入内存就可以了。

    换出

    把进程暂时不用的内存数据(经过上文分析主要是堆内存)存储到磁盘中,并释放这些数据占用的内存

    换入

    把进程暂时不用的内存数据存储到磁盘中,并释放这些数据占用的内存

    给人的感觉是Swap 其实是把系统的可用内存变大了。这样,即使服务器的内存不足,也可以运行大内存的应用程序。其实在现在内存比较廉价的年代,对于追求高性能的业务完全可以关闭swap,因为内存和硬盘的速度在目前还存在瓶颈。

    典型场景:

    1. 即使内存不足时,有些应用程序也并不想被 OOM 杀死,而是希望能缓一段时间,等待人工介入,或者等系统自动释放其他进程的内存,再分配给它。
    2. 我们常见的笔记本电脑的休眠和快速开机的功能,也基于 Swap 。休眠时,把系统的内存存入磁盘,这样等到再次开机时,只要从磁盘中加载内存就可以。这样就省去了很多应用程序的初始化过程,加快了开机速度

    三、内存回收的时机

    1、直接内存回收

    有新的大块内存分配请求,但是剩余内存不足。这个时候系统就需要回收一部分内存(比如前面提到的缓存),进而尽可能地满足新内存请求。这个过程通常被称为直接内存回收

    2、kswapd0内核线程

    除了直接内存回收,还有一个专门的内核线程用来定期回收内存,也就是kswapd0。

    为了衡量内存的使用情况,kswapd0 定义了三个内存阈值(watermark,也称为水位)

    • 页最小阈值(pages_min)
    • 页低阈值(pages_low)
    • 页高阈值(pages_high)

    剩余内存,则使用 pages_free 表。
     

    kswapd0 定期扫描内存的使用情况,并根据剩余内存落在这三个阈值的空间位置,进行内存的回收操作

     

    • 剩余内存小于页最小阈值,说明进程可用内存都耗尽了,只有内核才可以分配内存
    • 剩余内存落在页最小阈值和页低阈值中间,说明内存压力比较大,剩余内存不多了。这时 kswapd0 会执行内存回收,直到剩余内存大于高阈值为止。
    • 剩余内存落在页低阈值和页高阈值中间,说明内存有一定压力,但还可以满足新内存请求
    • 剩余内存大于页高阈值,说明剩余内存比较多,没有内存压力。

    一旦剩余内存小于页低阈值,就会触发内存的回收。这个页低阈值,其实可以通过内核选项 /proc/sys/vm/min_free_kbytes 来间接设置。min_free_kbytes 设置了页最小阈值,而其他两个阈值,都是根据页最小阈值计算生成的,计算方法如下
     

    pages_low = pages_min*5/4
    pages_high = pages_min*3/2

    四、内存回收的方式

    一旦发现内存紧张,系统会通过三种方式回收内存。这三种方式分别是 :

     

    • 基于 LRU(Least Recently Used)算法,回收缓存;
    • 基于 Swap 机制,回收不常访问的匿名页;
    • 基于 OOM(Out of Memory)机制,杀掉占用大量内存的进程

    前两种方式,缓存回收和 Swap 回收,实际上都是基于 LRU 算法,也就是优先回收不常访问的内存。LRU 回收算法,实际上维护着 active 和 inactive 两个双向链表,其中:

    1. active 记录活跃的内存页;
    2. inactive 记录非活跃的内存页

    越接近链表尾部,就表示内存页越不常访问。这样,在回收内存时,

    系统就可以根据活跃程度,优先回收不活跃的内存
    活跃和非活跃的内存页,按照类型的不同,又分别分为文件页和匿名页,对应着缓存回收和 Swap 回收
     

    # grep 表示只保留包含 active 的指标(忽略大小写)
    # sort 表示按照字母顺序排序
    $ cat /proc/meminfo | grep -i active | sort
    Active(anon): 167976 kB
    Active(file): 971488 kB
    Active: 1139464 kB
    Inactive(anon): 720 kB
    Inactive(file): 2109536 kB
    Inactive: 2110256 kB

    第三种方式,OOM 机制按照 oom_score 给进程排序。oom_score 越大,进程就越容易被系统杀死


    当系统发现内存不足以分配新的内存请求时,就会尝试直接内存回收。这种情况下,如果回收完文件页和匿名页后,内存够用了,当然皆大欢喜,把回收回来的内存分配给进程就可以了。但如果内存还是不足,OOM 就要登场。

    OOM 发生时,你可以在 dmesg 中看到 Out of memory 的信息,从而知道是哪些进程被 OOM 杀死了。比如,你可以执行下面的命令,查询 OOM 日志

    dmesg | grep -i "Out of memory"

    OOM什么时候会发生?

    OOM 触发的时机基于虚拟内存。换句话说,进程在申请内存时,如果申请的虚拟内存加上服务器实际已用的内存之和,比总的物理内存还大,就会触发 OOM

    因此不能单纯的看cache和 buffer还有很多,实际可回收的有多少呢?回收的能赶得上请求分配吗?
     

    四、NUMA 与 Swap关系

    很多情况下,你明明发现了 Swap 升高,可是在分析系统的内存使用时,却很可能发现,系统剩余内存还多着呢。为什么剩余内存很多的情况下,也会发生 Swap 呢?这正是处理器的 NUMA (Non-UniformMemory Access)架构导致的。

    在 NUMA 架构下,多个处理器被划分到不同 Node 上,且每个 Node 都拥有自己的本地内存空间。而同一个 Node 内部的内存空间,实际上又可以进一步分为不同的内存域(Zone),比如直接内存访问区(DMA)、普通内存区(NORMAL)、伪内存区(MOVABLE)等,
    如下图所示

    先不用特别关注这些内存域的具体含义,我们只要会查看阈值的配置,以及缓存、匿名页的实际使用情况就够了
    既然 NUMA 架构下的每个 Node 都有自己的本地内存空间,那么,在分析内存的使用时,我们也应该针对每个 Node 单独分析。

    你可以通过 numactl 命令,来查看处理器在 Node 的分布情况,以及每个 Node 的内存使用情况
     

     tune]$ numactl --hardware
    available: 2 nodes (0-1)
    node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 24 25 26 27 28 29 30 31 32 33 34 35
    node 0 size: 163710 MB
    node 0 free: 654 MB
    node 1 cpus: 12 13 14 15 16 17 18 19 20 21 22 23 36 37 38 39 40 41 42 43 44 45 46 47
    node 1 size: 163840 MB
    node 1 free: 11017 MB
    node distances:
    node   0   1 
      0:  10  21 
      1:  21  10 
    


    这个界面显示,我的系统中有两个 Node

     编号为 0 1 2 3 4 5 6 7 8 9 10 11 24 25 26 27 28 29 30 31 32 33 34 35的24个CPU, 都位于 Node 0 上。

    编号为12 13 14 15 16 17 18 19 20 21 22 23 36 37 38 39 40 41 42 43 44 45 46 47 的24个CPU, 都位于 Node1 上。

    另外,Node 0 的内存大小为 163710 MB,剩余内存为 654MB

              Node 1 的内存大小为 163840 MB,剩余内存为 11017MB

    了解了 NUNA 的架构和 NUMA 内存的查看方法后,你可能就要问了这跟 Swap 有什么关系呢?

    前面提到的三个内存阈值(页最小阈值、页低阈值和页高阈值),都可以通过内存域在 proc 文件系统中的接口 /proc/zoneinfo 来查看
     

    tune]$ cat /proc/zoneinfo|more
    Node 0, zone      DMA
      pages free     3936
            min      0
            low      0
            high     0
            scanned  0
            spanned  4095
            present  3841
        nr_free_pages 3936
        nr_inactive_anon 0
        nr_active_anon 0
        nr_inactive_file 0
        nr_active_file 0
        nr_unevictable 0
        nr_mlock     0
        nr_anon_pages 0
        nr_mapped    0
        nr_file_pages 0
        nr_dirty     0
        nr_writeback 0
        nr_slab_reclaimable 0
        nr_slab_unreclaimable 0
        nr_page_table_pages 0
        nr_kernel_stack 0
        nr_unstable  0
        nr_bounce    0
        nr_vmscan_write 0
        nr_writeback_temp 0
        nr_isolated_anon 0
        nr_isolated_file 0
        nr_shmem     0
        numa_hit     0
        numa_miss    0
        numa_foreign 0
        numa_interleave 0
        numa_local   0
        numa_other   0
        nr_anon_transparent_hugepages 0
            protection: (0, 1846, 161426, 161426)
      pagesets
        cpu: 0
                  count: 0
                  high:  0
                  batch: 1
      vm stats threshold: 12
        cpu: 1
                  count: 0
                  high:  0
                  batch: 1
      vm stats threshold: 12
        cpu: 2
                  count: 0
                  high:  0
                  batch: 1
      vm stats threshold: 12
        cpu: 3
                  count: 0
                  high:  0
                  batch: 1
      vm stats threshold: 12
    ......
    

    pages 处的 min、low、high,就是上面提到的三个内存阈值,而 free 是剩余内存页数,它跟后面的 nr_free_pages 相同。
    nr_zone_active_anon 和 nr_zone_inactive_anon,分别是活跃和非活跃的匿名页数。
    nr_zone_active_file 和 nr_zone_inactive_file,分别是活跃和非活跃的文件页数

    剩余内存远大于页高阈值,所以此时的 kswapd0 不会回收内存。

    某个 Node 内存不足时,系统可以从其他 Node 寻找空闲内存,也可以从本地内存中回收内存。具体选哪种模式,你可以通过 /proc/sys/vm/zone_reclaim_mode来调整

    • 默认的 0 ,表示既可以从其他 Node 寻找空闲内存,也可以从本地回收内存。
    • 1、2、4 都表示只回收本地内存
    • 2 表示可以回写脏数据回收内存4 表示可以用Swap 方式回收内存

    五、swappiness

    1. 对文件页的回收,当然就是直接回收缓存,或者把脏页写回磁盘后再回收。
    2. 对匿名页的回收,其实就是通过 Swap 机制,把它们写入磁盘后再释放内存

    既然有两种不同的内存回收机制,那么在实际回收内存时,到底该先回收哪一种呢?

    Linux 提供了一个 /proc/sys/vm/swappiness选项,用来调整使用 Swap 的积极程度。

    swappiness 的范围是 0-100,数值越大,越积极使用 Swap,也就是更倾向于回收匿名页;数值越小,越消极使用 Swap,也就是更倾向于回收文件页
    swappiness 的范围是 0-100,不过要注意,这并不是内存的百分比,而是调整Swap 积极程度的权重,即使你把它设置成 0,当剩余内存 + 文件页小于页高阈值时,还是会发生 Swap。
     

    展开全文
  • 什么是swap? swap 简单的说就是将硬盘当内存用,用于解决内存容量不足的情况。 1、如何设置swap? 1、查看当前系统是否设置了swap ...在终端输入以下命令查看是否设置了swap ...sudo dd if=/dev/zero of=/swapfile
  • ​前几天又有人真删库跑路了我们知道现在大多服务都部署在 Linux 上而 Linux 又“Everything is File”人们常说不要随便使用 rm 命令特别 rm -rf /*这什么呢因为 rm 命令删除的意思加上参数 f 就是强制...
  • 4.5磁盘格式化 [root@localhost ~]# cat /etc/filesystems //查看分区支持的文件系统格式 ext4 ext3 ext2 nodev proc nodev devpts ...[root@localhost ~]# mount //查看分区的文件系统是什么(挂载之...
  • 三周第五次课4.5/4.6 磁盘格式化4.7/4.8 磁盘挂载 4.9 手动增加swap空间 4.5/4.6 磁盘格式化 cat /etc/filesystems 查看文件格式 (win系统的格式一般是NTFS) ...mount 查看文件分区系统是什么格式 (/dev/...
  • 4.5/4.6 磁盘格式化Linux 支持的文件系统格式[root@wangshuang-01 ~]# cat /etc/filesystems xfs //centos7默认的文件系统 ext4 ...*查看分区的文件系统是什么格式的mount 命令先创建分区:[ro...
  • 磁盘格式化磁盘在格式化时会预先规定好每个块的大小,...命令:#cat/etc/filesystems 可以查看centos7 在我们装系统时默认的文件系统就是xfs怎么查看一个分区的文件系统是什么呢?命令: #mount/ 和/boot 文件系统都...
  • 1 什么是virtual Machine

    2019-04-14 22:59:00
    1、所有的虚拟机以文件的形式存放在存储上。 2、虚拟机的文件构成: swap files: <vm_name>.vswp 虚拟机的内存文件,vmx-<....vmtx文件不会与Configuration file<vm_name>.vmx...
  • 我想大概这种情况,你的Linux 机器下磁盘满了,需要清理,然后就需要查找大的文件,确定是否有用进行删除。 具体做法 查找500M以上的文件 1 2 3 4 5 6 7 sudo find / -size +500M /swap.img /home/androidyue/...
  • 背景: 看到监控报警swap空间不足,系统内存本身占用不高是什么原因呢。...# swapon swapfile 报错: changing permissions of ‘swap’: Read-only file system 查看权限之前我设置的是600。本身r...
  • Ubuntu 内存/磁盘扩容

    2020-08-01 12:07:54
    Ubuntu 内存/磁盘扩容 author:troy ...本文来自 Tianhao Wu 的帮助?...接着先 ls 查看一下是什么文件,为了方便管理,最好mv 为swapfile sudo mkswap sfile 查看空间 free -m 接下来激活 swapfile
  • <div><h2>Aria版本 <p>3.6.2 什么问题 添加了读写权限,...调试代码内部创建文件出错,位置为FileUtil.java文件,240行,该行代码”testWriteFile.createNewFile();“执行提示权限问题。 ...
  • 我们可以把经过 Jocky编译的类文件以UltraEdit打开,可以发现在第8个字节上(类文件的major version)的数值0x30,即十进制的48,这JDK 1.4所能够理解的类文件版本(JDK 5.0默认编译的类文件版本49)。前提:应用...
  • 细说 linux 内存之cached

    千次阅读 2015-01-01 22:17:32
    cached 项数据为 meminfo_proc_show 打印, 代码如下: cached = global_page_state(NR_FILE_PAGES) - ...那文件什么时候增加的呢? 内核中有两处增加 文件页面数量: int add_to_page_c
  • linux中的文件(普通文件或设备文件等)都必须有挂在点,只有挂载到一个目录下才能访问,swap分区不需要挂载点的,在分区的时候,将文件系统类型选为swap,挂载点自动会变为灰色。一般linux中的swap大小为内存的两倍。...
  • 后两个控件的作用用来使程序具有FTP(File TransferProtocol文件传输协议)和SMTP(Simple Mail TransferProtocol简单邮件传输协议)功能,大家一看都知道使软件具有上传下载功能和发邮件功能的控件。...
  • 那么,它里面记录的是什么内容呢?可以用此软件看看,如果从你上次安装系统到现在很久了,那么此文件一定很大吧,里面可都是你的上网记录啊! Index.datSuite's功能: -查看index.dat文件 -删除index.dat文件 -查看...
  • Linux常用的命令

    2014-09-21 19:43:32
    ln file1 file2 为file1创建file3 的硬连接 同时删除file1 和file2 才能删除文件 分发系统: 1. 支持pxe client 功能,有pxe的网卡 (client端) 2. 有配置文件config system-config-kick 创建kick 文件 (server端) ...
  • 成映像文件作它用(特别软驱),推荐重新格书化为标准格式。 9. 页面交换文件支持 如果你使用固定介质类型,并且不重新格式化,你可以用系统管理直接把 页面文件加到虚拟盘上。 如果你使用其它介质类型,或者...
  • 19.1.1 什么是集群文件系统 396 19.1.2 集群文件系统的使用环境 396 19.1.3 常见的集群文件系统 397 19.2 OCFS2集群文件系统 397 19.2.1 安装Oracle OCFS2集群文件系统 397 19.2.2 配置和使用集群文件系统 398 ...
  • Support for paging of anonymous memory (swap) 使用交换分区或者交换文件来做为虚拟内存 System V IPC System V进程间通信(IPC)支持,许多程序需要这个功能.必选,除非你知道自己在做什么 IPC Namespaces IPC命名...
  • 1.1.1 什么是 Linux? 1.1.2 Linux 该怎么念? 1.1.3 Linux 的历史 1.1.4 Linux的优点 1.2 Linux与开源软件 1.3 Linux 与 Windows 的比较 1.3.1 开发模式和系统架构的区别 1.3.2 局部的区别 1.4 Linux 与 Unix的比较 ...
  • LINUX 20招

    2008-04-25 19:30:56
    显示文件的类型 用命令file可以使你知道某个文件究竟ELF格式的可执行文件,还是shell script文件或是其他的什么格式,例如:#file startx <br> 3.用dd命令转换数据格式 你大概知道dd命令用来拷贝...

空空如也

空空如也

1 2 3
收藏数 43
精华内容 17
关键字:

swapfile是什么文件