linuxswap(linuxswap分区大小)
本篇文章给大家谈谈linuxswap,以及linuxswap分区大小对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Linux开启Swap分区
- 2、Linux内存机制(swap)
- 3、linux创建分区 swap、/、/boot 分区分别是什么意思?
- 4、如何为已安装的linux操作系统设置swap分区?
- 5、Linux系统中如何调整swap大小
Linux开启Swap分区
title: 2021-02-07-Linux开启Swap分区
date: 2021-02-07 11:20:20
categories: [linux]
tags: [linux分区扩容]
toc: true
场景: 华为云购买的机器,默认不会开启 swap 分区,服务器运行内存只有 4GB ,不满足使用,开晌消启 swap 交换分区
1、 开启 swap 分区
新建一个宴激知专门的文件用于 swap 分区
注:此文件的大小是 count 的大小乘以 bs 大小,上面命令的大小是 8GB
2、 通过 mkswap 命令将铅激上面新建出的文件做成 swap 分区
3、 查看内核参数 vm.swappiness
若 vm.swappiness 为 0 则根据实际需要调整成 30 或者 60
注:若想永久修改,则编辑 /etc/sysctl.conf 文件
4、 启用此交换分区的交换功能
这里有可能会有报错,如下
解决方法:
尝试激活 Swap 文件
5、 关闭 swap 分区
6、 重新激活 swap 分区,没有写入系统配置文件中,系统重启后,就需要重新激活
7、 如果需要一直保持这个 swap ,可以把它写入 /etc/fstab 文件
8、 关机重启确认 Swap 大小
Linux内存机制(swap)
我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。
物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(Swap Space)。
作为物理内存的扩展,linux会在物理内存不足时,使用交换分区的虚拟内存,更详细的说,就是内核会将暂时不用的内存块信息写到交换空间,这样以来,物理内存得到了释放,这块内存就可以用于其它目的,当需要用到原始的内容时,这些信息会被重新从交换空间读入物理内存。
Linux的内存管理采取的是分页存取机制,为了保证物理内存能得到充分的利用,内核会在适当的时候将物理内存中不经常使用的数据块自动交换到虚拟内存中,而将凯巧型经常使用的信息保留到物理内存。
要深入了解linux内存运行机制,需要知道下面提到的几个方面:
Linux系统会不时的进行页面交换操作,以保持尽可能多的空闲物理内存,即使并没有什么事情需要内存,Linux也会交换出暂时不用的内存页面。这可以避免等待交换所需的时间。
Linux 进行页面交换是有条件的,不是所有页面在不用时都交换到虚拟内存,linux内核根据”最近最经常使用“算法,仅仅将一些不经常使用的页面文件交换到虚拟 内存,有时我们会看到这么一个现象:linux物理内存还有很多,但是交换空间也使用了很多。其实,这并不奇怪,例如,一个占用很大内存的进程运行时,需 要耗费很多内存资源,此时就会有一些不常用页面文件被交换到虚拟内存中,但后来这个占用很多内存资源的进程结束并释放了很多内存时,刚才被交换出去的页面 文件并不会自动的交换进物理内存,除非有这个必要,那么此刻系统物理内存就会空闲很多,同时交换空间也在被使用,就出现了刚才所说的现象了。关于这点,不 用担心什么,只要知道是怎么一回事就可以了。
交换空间的页面在使用时会首先被交换到物理内存,如果此时没有足够的物理内存来容纳这些页 面,它们又会被马上交换出去,如此以来,虚拟内存中可能没有足够空间来存储这些交换页面,最终会导致linux出现假死机、服务异常等问题,linux虽 然可以在一段时间盯猜内自行恢复,但是恢复后的系统已经基本不可用了。
因此,合理规划和设计Linux内存的使用,是非常重要的.
在Linux 操作系统中,当应用程序需要读取文件中的数据时,操作系统先分配一些内存,将数据从磁盘读入到这些内存中,然后再将数据分发给应用程序;当需要往文件中写 数据时,操作系统先分配内存接收用户数据,然后再将数据从内存写到磁盘上。然而,如果有大量数据需要从磁盘读取到内存或者由内存写入磁盘时,系统的读写性 能就变得非常低下,因为无论是从磁盘读数据,还是写数据到磁盘,都是一个很消耗时间和资源的过程,在这种宽中情况下,Linux引入了buffers和 cached机制。
buffers与cached都是内存操作,用来保存系统曾经打开过的文件以及文件属性信息,这样当操作系统需要读取某些文件时,会首先在buffers 与cached内存区查找,如果找到,直接读出传送给应用程序,如果没有找到需要数据,才从磁盘读取,这就是操作系统的缓存机制,通过缓存,大大提高了操 作系统的性能。但buffers与cached缓冲的内容却是不同的。
buffers是用来缓冲块设备做的,它只记录文件系统的元数据(metadata)以及 tracking in-flight pages,而cached是用来给文件做缓冲。更通俗一点说:buffers主要用来存放目录里面有什么内容,文件的属性以及权限等等。而cached直接用来记忆我们打开过的文件和程序。
为了验证我们的结论是否正确,可以通过vi打开一个非常大的文件,看看cached的变化,然后再次vi这个文件,感觉一下两次打开的速度有何异同,是不是第二次打开的速度明显快于第一次呢?接着执行下面的命令:
find / -name .conf 看看buffers的值是否变化,然后重复执行find命令,看看两次显示速度有何不同。
上面这个60代表物理内存在使用40%的时候才会使用swap(参考网络资料:当剩余物理内存低于40%(40=100-60)时,开始使用交换空间) swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。
值越大表示越倾向于使用swap。可以设为0,这样做并不会禁止对swap的使用,只是最大限度地降低了使用swap的可能性。
通常情况下:swap分区设置建议是内存的两倍 (内存小于等于4G时),如果内存大于4G,swap只要比内存大就行。另外尽量的将swappiness调低,这样系统的性能会更好。
B. 修改swappiness参数
永久性修改:
立即生效,重启也可以生效。
一般系统是不会自动释放内存的 关键的配置文件/proc/sys/vm/drop_caches。这个文件中记录了缓存释放的参数,默认值为0,也就是不释放缓存。他的值可以为0~3之间的任意数字,代表着不同的含义:
0 – 不释放 1 – 释放页缓存 2 – 释放dentries和inodes 3 – 释放所有缓存
前提:首先要保证内存剩余要大于等于swap使用量,否则会宕机!根据内存机制,swap分区一旦释放,所有存放在swap分区的文件都会转存到物理内存上。通常通过重新挂载swap分区完成释放swap。
a.查看当前swap分区挂载在哪?b.关停这个分区 c.查看状态:d.查看swap分区是否关停,最下面一行显示全 e.将swap挂载到/dev/sda5上 f.查看挂载是否成功
[img]linux创建分区 swap、/、/boot 分区分别是什么意思?
1、boot分区
在Linux中,boot是存储内核及在引导过程中使用文件的分区,是启动Linux时使用的一些核心文件;在boot中包括了系统kernel的配置文件、启动管理程序GRUB的目录、启动时的模块供应的主要来源Initrd文件和vmlinuz文件。
/boot分区就是操作系统的内核及在引导过程中使用的文件,一般是几年前的版本要求划分的一个区,大顷碧小为100MB左右,但现在的新版本都不需要对这个分区进行单独划分,也就是说你完全可以不分/boot。
安装Linux只要求两个基本分区,即根分区及交换分区,如果你的磁盘空间足够大,可以多划分空间给根分区,你也可以把常用的目录新建到桌面,如下载的软件包,放到桌面不影响你进入Linux系统的速度,当然这要求你有足够大的根分区。
2、swap分区
swap就是Linux下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间虚拟成内存来使用。
它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。
需要注意的是,虽然这个swap分区能够作为虚拟的内存,但它的速度比物理内存可是慢多了,因此如果需要更快的速度的话,并不能寄厚望于SWAP,最好的办法仍然是极大物理内存。SWAP分区只是临时的解决办法。
交换分区的合理值一般在内存的2倍左答汪右?一种流行的说法是,安装Linux系统时,交换分区swap的大小应该是内存的两倍。也就是说,如果内存是2G,那么就应该分出4G的硬盘空间作为交换空间。其实这是严重的浪费。真实的情况是:可以根据你系统内存的大小,以及所使用的程序,自行决定交换分区的大小,甚至可以完全不用交换分区。
3、根分区
所谓根分区,说白了就是系统分区,是root分区,所有的东西都放在这里面。
Linux是一个树形文件系统,根分区就是它的root节点,任何的目录文清乎仔件都会挂在根节点以下。Linux只有一个根。你可以给你的硬盘进行分区,但是,分区设备一定挂载到Linux根目录下的指定位置,如/usr、/var、/home等。如果要对分区进行操作的话,只能到分区所挂载的目录中进行操作。所以,不管对硬盘分多少个区,都要将这些分区挂载到根目录底下才可以使用。
如何为已安装的linux操作系统设置swap分区?
已装的linux系统新建swap分区的步骤大搏如下:\x0d\x0a1.fdisk /dev/sda\x0d\x0a2.n (新建码仿改一个分区为/dev/迟判sda6)\x0d\x0a3.t (修改分区的id)\x0d\x0a4.82 (swap的id为82)\x0d\x0a5.w (重写分区表)\x0d\x0a6.partprobe (同步内存和分区表信息)\x0d\x0a7.mkswap /dev/sda6 (格式化成swap分区)\x0d\x0a8.swapon /dev/sda6 (打开swap分区)\x0d\x0a9.vim /etc/fstab (在fstab中增加一条记录如下)\x0d\x0a/dev/hda6 swap swap defaults 0 0\x0d\x0a10.mount -a
Linux系统中如何调整swap大小
这里我要跟大家介绍的是Linux系统中调整swap大小的 方法 。欢迎大家阅读。
Linux系统中调整swap大小的方法
1、使用free命令带上m参数,查看swap文件大小,官方建议在RAM是2到4.5G时,swap是RAM的2倍;如果RAM大于等于4G则swap等于RAM即可
2、也可用cat 查看etc目录下的swaps文件,如下图
3、创建一个swap文件
复制内容到剪贴板
########
dd if=/dev/zero of=/tmp/swap bs=1MB count=1024
########
以下迅渗亩仅供参考:不用看
Creating a swap file
First of, make sure the file system the disk you wish to swap on is properly mounted. For the purposes of this tutorial we will assume the disk is mounted as /mnt and we want to use the file /mnt/myswap.swp for swapping.
使用下面的命令创建一个1G的swap文件
复制内容到剪贴板
Use the following command to create a 1024MB file that we will use for swapping
########
dd if=/dev/zero of=/mnt/myswap.swp bs=1024MB count=1
########
4、制作一亩森个swap文件,如果觉得繁琐,可以将mkswap文件挂载到tmp目录下,例如:
复制内容到剪贴板
########
mkswap /tmp/swap
########
以下仅供参考:不用看
Preparing the swap file
Before we enable the swap file we must first set it up. The following command accomplishes just that:
########
mkswap /mnt/myswap.swp
########
5、使用swapon 启动/tmp/swap
复制内容到剪贴板
########
swapon /tmp/swap
########
使用一个swap分区,如果已经有一个swap分区,该步骤可以省略
以下仅供参考:不用看
Using a swap partition
Setting up a swap partition is a bit more difficult, as the partition must be first created then formatted using the linux-swap file system. Once that is done, assuming the swap partition is at/dev/scsi/host0/bus0/target0/lun0/part5 (common for v24 USB drives with mutiple partitions), the only command that needs be issued is:
6、喊配再次使用free查看增加后的swap大小
7、如果只想增加swap大小,请忽略以下的操作,重要!!如果不使用刚才增加的1G的swap文件,使用下面的swapoff命令,可以关闭,这样swap文件就缩小了1G
使用swapoff关闭swap文件
复制内容到剪贴板
########
swapoff /tmp/swap
########
注意事项:如果只想增加swap大小,请忽略第7步的所有操作。
关于linuxswap和linuxswap分区大小的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。