linux系统swap交换分区

发布时间 2023-12-08 10:56:41作者: qt带你遨游浩瀚宇宙

swap space 是磁盘上的一块区域,可以是一个分区,也可以是一个文件,或者以它们的组合方式出现。当系统物理内存吃紧时,Linux 系统会将内存中不常访问的数据保存到 swap 上,这样系统就有更多的物理内存为其他进程服务,而当系统需要访问 swap 上存储的内容时,系统会再将 swap 上的数据加载到内存中,这就是我们常说的 swap out 和 swap in 了.大多数情况下,建议交换内存的大小为物理内存的1到2倍。

查看系统中已经配置的 swap 分配情况
# Filename: 类型是分区则显示分区路径,类型是文件则显示文件路径
# Type: partition代表是一个swap分区,file代表是一个swap文件
# Size: 显示swap的大小,默认单位是KB
# Used: 已经被使用的大小,0表示还没有被使用到
# Priority: 优先级高将会被优先使用,同等优先级将会均匀使用(设置: swapon -p)
escape@app:~$ swapon -s
Filename             Type      Size        Used       Priority
/data/.swapfile      file      10485756    6534248    -1
/data1/.swapfile     file      10485756    3246088    -2

# 指定交换区的优先顺序
$ sudo swapon -p xxx

# 启动某个交换swap
$ sudo swapon /dev/sda2

# 启动所有系统配置的swap
$ sudo swapon -a

# 关闭某个交换swap
$ sudo swapoff /dev/sda2

# 关闭所有系统配置的swap
$ sduo swapoff -a

固定使永久生效
# 写入磁盘配置文件
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
$ cat /etc/fstab
/data1/.swapfile        none    swap    sw      0       0
/data1/.swapfile2       none    swap    sw      0       0

查看系统中 swap in/out 的情况
# 并不是swap空间占用多就一定性能下降
# 真正影响性能是swap in和out的频率,频率越高对系统的性能影响越大
escape@app:~$ vmstat 2
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 3  1 9795592 2037192 282460 14034552    8    8    51    46    0    0 10  1 88  0  0
 3  0 9795592 2025832 282472 14044688    0    0 68279   270 5416 6425 35  6 54  5  0

摘自:https://zhuanlan.zhihu.com/p/565883743