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
相关文章
|
4天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
29 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
28天前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
115 48
|
22小时前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
79 62
|
1天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
10 0
|
24天前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
17 3
|
29天前
|
存储 运维 Linux
如何在 Linux 系统中使用 envsubst 命令替换环境变量?
`envsubst` 是 Linux 系统中用于替换文本中环境变量值的实用工具。本文分三部分介绍其工作原理、使用方法及实际应用,包括配置文件替换、脚本执行中环境变量替换和动态生成文件等场景,帮助用户高效利用 `envsubst` 进行开发和运维工作。
50 4
|
28天前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
30 1
|
28天前
|
网络协议 Linux 虚拟化
如何在 Linux 系统中查看进程的详细信息?
如何在 Linux 系统中查看进程的详细信息?
58 1
|
28天前
|
Linux
如何在 Linux 系统中查看进程占用的内存?
如何在 Linux 系统中查看进程占用的内存?
|
12天前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。