认识交换空间(设置交换空间大小)

交换空间可以是磁盘上的一块区域,也可以是磁盘上的一个文件,一般当物理内存吃紧的时候,OS会将一些不常访问的数据保存到交换空间上,空出来的物理内存就可以为其他进程服务。


          目录

1、为什么需要交换空间?

(1) 启动时

(2) 运行时

(3) 运行吃紧时

2、设置交换空间

(1) 创建指定大小的文件

(2) 设置为交换文件

(3) 激活交换文件

(4) 自动挂载

(5) 查看交换空间


1、为什么需要交换空间?

下面我们可以从三个角度来分析交换空间的作用。

(1) 启动时

一些程序在启动的时候会耗费大量的内存,这些内存很多只是在启动的时候被用到,后面运行很少再用到这些内存。对此,我们可以将一些不经常访问的数据保存到交换空间上,从而释放出更多的物理内存供系统使用,如用于缓存,可以加快系统的IO速度。

(2) 运行时

有些程序大部分时间处于休眠状态,未免太耗内存,此时我们可以把这些内容搁置到交换空间,虽然速度慢一点,但至少可以保证正常运行。

(3) 运行吃紧时

大部分情况下,物理内存都是够用的,不排除一些内存泄漏的情况,此时内存的占用超过了预期,现在有了swap空间以后,我们可以把swap当内存使用,虽然比较慢,但可以给我们留一点空间用来Debug或者杀死进程。

2、设置交换空间

在物理内存足够大的情况下,不设置交换空间也可以。但是不排除物理内存耗尽的情况,稳妥起见,最好还是提供一个交换空间,毕竟交换空间在磁盘上,磁盘比内存便宜很多。

  • 对于桌面系统:交换空间一般是物理内存的两倍,便于运行更多的应用程序
  • 对于服务器:交换空间一般是物理内存的一半,根据交换空间的使用量可以判断是否需要增加物理内存的容量。

(1) 创建指定大小的文件

创建交换文件使用的语句如下:

# 创建的交换文件名为 swap1,这个文件拥有 1024 个块,每个块的大小为 1M
# 即该文件的大小为 1G
dd if=/dev/zero of=/swap1 bs=1M count=1024
  • dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换
  • if=文件名:输入文件名,缺省为标准输入。即指定源文件
  • of=文件名:输出文件名,缺省为标准输入。即指目标文件。
  • bs=1M:设置输入/输出的块的大小(block size)
  • count=1024:拷贝1024个块,即1G

(2) 设置为交换文件

现在根目录下有个文件是 swap1,我们要将这个文件设为交换文件

mkswap  /swap1

(3) 激活交换文件

这么做的目的是让OS知道,这个文件是属于交换空间的一部分,但是只是本次启动有效,下一次系统重启的时候,这个文件就会失效,不再属于交换空间。

swapon  /swap1

(4) 自动挂载

我们希望每次启动的时候,可以自动把这个文件挂载到交换空间上,我们需要在 /etc/fstab 文件中加入如下内容。

/swap1                  swap                    swap    defaults        0 0

(5) 查看交换空间

通过 free -h 命令查看交换空间大小

猜你喜欢

转载自blog.csdn.net/challenglistic/article/details/129997009