linux系统之swap分区

简介:

一.简介:

    Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存变少。当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。

    


二.查看swap分区大小:

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@node1 ~] # free 
              total       used        free      shared    buffers     cached
Mem:       1906256     158332    1747924        168       6164      44048
-/+ buffers /cache :     108120    1798136
Swap:      2097148          0    2097148
[root@node1 ~] # free -m
              total       used        free      shared    buffers     cached
Mem:          1861        154       1706          0          6         43
-/+ buffers /cache :        105       1755
Swap:         2047          0       2047
[root@node1 ~] # swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-1               partition    2097148    0    -1

三.释放swap空间:

先关闭swap分区,然后再次打开swap分区。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
1.查看swap分区信息
[root@node1 ~] # free -m
              total       used        free      shared    buffers     cached
Mem:          1861        154       1706          0          6         43
-/+ buffers /cache :        105       1756
Swap:         2047          0       2047
[root@node1 ~] # swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-1                                partition    2097148    0    -1
 
2.关闭swap分区
[root@node1 ~] # swapoff /dev/dm-1 
 
3.检查swap分区
[root@node1 ~] # free -m
              total       used        free      shared    buffers     cached
Mem:          1861        153       1707          0          6         43
-/+ buffers /cache :        104       1757
Swap:            0          0          0
 
4.开启swap分区
[root@node1 ~] # swapon /dev/dm-1 
[root@node1 ~] # free -m
              total       used        free      shared    buffers     cached
Mem:          1861        155       1706          0          6         43
-/+ buffers /cache :        105       1755
Swap:         2047          0       2047

四.修改参数swappiness

    系统在什么情况或条件下才会使用Swap分区的空间呢? 其实是Linux通过一个参数swappiness来控制的。这个参数值可为 0-100,控制系统 swap 的使用程度。高数值可优先系统性能,在进程不活跃时主动将其转换出物理内存。低数值可优先互动性并尽量避免将进程转换处物理内存,并降低反应延迟。默认值为 60。

1
2
3
4
5
6
7
8
9
10
11
12
临时修改1:
[root@node1 ~] # more /proc/sys/vm/swappiness
60
[root@node1 ~] # echo 10 > /proc/sys/vm/swappiness
[root@node1 ~] # more /proc/sys/vm/swappiness
10
 
临时修改2:
sysctl vm.swappiness=10
 
永久修改:
echo  'vm.swappiness=10'  >> /etc/sysctl .conf    重启系统后生效。

五.调整swap分区大小

方法1:如果是swap是逻辑卷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[root@node1 ~] # ll /dev/mapper/
total 0
crw-rw---- 1 root root 10, 58 Oct 13 09:49 control
lrwxrwxrwx 1 root root      7 Oct 13 09:50 vg_node1-lv_root -> .. /dm-0
lrwxrwxrwx 1 root root      7 Oct 13 10:09 vg_node1-lv_swap -> .. /dm-1
 
[root@node1 ~] # swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-1              partition    2097148    0    -1
 
 
1.关闭Swap交换分区
swapoff  /dev/dm-1     或者swapoff     /dev/mapper/vg_node1-lv_swap     
 
2.如果vg有空余空间,则采用lvextend扩容方式            
lvextend -L 3G  /dev/mapper/vg_node1-lv_swap
 
3.格式化:
     mkswap  /dev/mapper/vg_node1-lv_swap
     
4.启动swap分区
swapon  /dev/mapper/vg_node1-lv_swap
 
5.添加到开机自启
cat   /etc/fstab
默认系统已经自动挂载
/dev/mapper/vg_node1-lv_root  /      ext4    defaults        1 1

方法2:文件创建swap分区

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1.创建文件 /root/swap
# dd if=/dev/zero of=/root/swap bs=1024M count=8(从/分区分出8x1024M大小的空间,挂在/root/swap上)
 
2.格式化:
# mkswap /root/swap (格式化成swap格式)
 
3.启用:
# swapon /root/swap (激活/root/swap,加入到swap分区中)
如果报错,则swapon -f  /root/swap
   
4.添加开机自启    
# vim /etc/fstab (开机自启动新添加的swap分区)
/root/swap   swap  swap  defaults   0    0
 
5.删除新增的文件只需要执行
#swapoff /root/swap


方法3:新增硬盘方式

1
2
3
4
5
6
7
8
9
1.创建分区
fdisk--n--t-(调整类型为82swap)
2.格式化成swap格式
mkswap /dev/sda3
3.启用:
swapon /dev/sda3
3.开机自启动挂载
vim /etc/fstab
/dev/sda3    swap       swap    defaults        0 0

本文转自   a8757906   51CTO博客,原文链接:http://blog.51cto.com/nxyboy/1972037
相关文章
|
10月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
896 3
Linux系统禁用swap
|
10月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
1477 3
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
963 3
Linux系统初始化脚本
|
11月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
691 18
|
10月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
1106 1
|
10月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1394 1
|
11月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
2575 10
|
11月前
|
安全 Linux 数据安全/隐私保护
为Linux系统的普通账户授予sudo访问权限的过程
完成上述步骤后,你提升的用户就能够使用 `sudo`命令来执行管理员级别的操作,而无需切换到root用户。这是一种更加安全和便捷的权限管理方式,因为它能够留下完整的权限使用记录,并以最小权限的方式工作。需要注意的是,随意授予sudo权限可能会使系统暴露在风险之中,尤其是在用户不了解其所执行命令可能带来的后果的情况下。所以在配置sudo权限时,必须谨慎行事。
1828 0
|
11月前
|
Ubuntu Linux 开发者
国产 Linux 发行版再添新成员,CutefishOS 系统简单体验
当然,系统生态构建过程并不简单,不过为了帮助国产操作系统优化生态圈,部分企业也开始用国产操作系统替代 Windows,我们相信肯定会有越来越多的精品软件登录 Linux 平台。
858 0
|
11月前
|
Ubuntu 安全 Linux
Linux系统入门指南:从零开始学习Linux
Shell脚本是一种强大的自动化工具,可以帮助您简化重复的任务或创建复杂的脚本程序。了解Shell脚本的基本语法和常用命令,以及编写和运行Shell脚本的步骤,将使您更高效地处理日常任务。
750 0