linux swap space,简单理解Linux Swap Space

理解Swap Space

对服务器进行性能监控,除了CPU, 内存, 磁盘IO,网络外,Swap Space也是值得关注的关键项。

用户进程在内存空间中数据有以下形式:

程序代码和共享库

文件内容的缓存数据

程序使用的堆栈空间

其中前两项都是从文件系统中读取进来的。

Linux本身是一个分页请求系统,用户进程使用的内存需要映射到物理内存。为了更好的使用内存,Linux会对物理内存中的页面进行回收:

程序代码和共享库的内存空间,可以直接回收,以后需要可以从程序文件中直接读取

文件内容的缓存数据,如果是脏页,需要先写回磁盘再回收,否则可以直接回收

程序的堆栈空间,没有对应的文件,在回收时只能备份到磁盘的一块专门的分区即Swap Space

Linux会使用硬盘的一部分作为SWAP分区,当前处于睡眠状态的进程就有可能发生回收,其中程序堆栈空间就有可能会交换到SWAP分区,把内存空出让给别的进程。

如果系统需要更多内存,而又无法回收更多的内存时,即发生了OOM killer(Out-of-Memory killer),该机制会将占用内存过大和“它”认为不重要的进程kill掉来回收内存。

可以用free命令查看swap space的使用情况:

123456

free -m

total used free shared buffers cached

Mem: 15948 14285 1662 0 302 1745

-/+ buffers/cache: 12237 3710

Swap: 16383 4 16379

其中最后一行Swap及时Swap Space的使用情况,对系统监控时,需要注意这个值比较高并不代表着内存吃紧,只有在Swap上有大量的换入换出时才表明内存紧张。

可以用vmstat命令查看Swap的换入换出操作:

123456

vmstat 5

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

r b swpd free buff cache si so bi bo in cs us sy id wa st

0 0 4212 1684508 310216 1805280 0 0 3 17 0 0 1 1 98 0 0

0 0 4212 1683384 310216 1806188 0 0 9 355 4289 4270 3 2 96 0 0

0 0 4212 1683260 310220 1806252 0 0 0 41 4212 4256 2 1 96 0 0

其中si表示从磁盘换入到内存,so表示从内存换出到内存。这里虽然Swap Space被使用了一些,但是因为si和so都为0,所以这里Swap对系统性能是没有影响的。

Swap相关系统参数调整

如果内存足够大,可以通过调整swappiness参数数值,让系统不必太多的使用SWAP分区,其值为0时表示最大限度使用物理内存。

查看系统的swappiness:

12

sysctl vm.swappiness

vm.swappiness = 30

修改swappiness,/etc/sysctl.conf

1

vm.swappiness=0

1

sysctl -p /etc/sysctl.conf

使用swapoff和swapon命令刷新Swap Space

swapoff命令可以关闭系统交换分区, -a参数关闭所有交换设备:

1

swapoff -a

swapon命令可以打开系统交换分分区:

1

swapon -a

系统在剩余足够可用内存的情况下,如果希望把Swap分区中的内容回写到内存,可以组合使用这两个命令:

1234

free -m

swapoff -a

swapon -a

free -m注意一定要确保系统有足够的剩余内存;Swap分区使用比较大时,执行swapoff -a可能需要等待较长时间

参考

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值