RH442-10 内存回收之二

 一、Swap

1.   概述

l  会使用swap的页:inactive pagess(脏页)和anonymous pages匿名页。

l  swap ache:放在swap页未被修改过;多进程访问同一个页帧时,防止发生混乱,将其写到swap cache

l  swap慢的原因:swap太小;swap匿名页更新太快.

l  查看swap回收情况

[root@station10 ~]# vmstat 3

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      0 7187336 208524 559220    0    0     0     1   10   10  0  0 100  0  0

 0  0      0 7187336 208524 559220    0    0     0     0 1017   84  0  0 100  0  0

 0  0      0 7187336 208524 559220    0    0     0    21 1014   83  0  0 100  0  0

 #siswap in  将内存中信息放到swap

 #soswap on  swap中信息放到内存中

 

2.   提升swap性能的办法

l  将虚拟机的domnU分独立VBD(虚拟块设备)做swap,将虚拟机放在不同的磁盘上。

l  swap分布在多个设备上,最多32LUMS(逻辑单元号)即分配在多个不同的分区或磁盘上(要调整swap优先级)。

l  尽量保证swap优先级相同,以保证swap轮询使用,内核会优先使用高优先级的swap分区。

l  尽量使用分区,不要使用文件作为swap

l  尽量不要将swap放在慢的设备上。

 

3.   Tuning swappiness

搜索inactive pages会消耗过多的cpuIO资源,需要tuninig swappiness

l  调整匿名页

  vm.swappiness

[root@station10 ~]# sysctl -a|grep vm.swappiness

vm.swappiness = 60

#是否更倾向于使用swap,越大越优先使用swap,越小越优先使用cache。范围0100

 调整时注意要求:% of memory mapped into page tables+vm.swappiness >=100

 

4.   Tuning swap size

l  注意事项

Ø  内核会在zone_normal中使用2 bytes来跟踪swap里的每个页

Ø  内存交换速度要比磁盘IO更强的话,会导致swaplock,尽量避免swaplock

Ø  如果内存不足,内核会kill用户进程。

 

l  Tuning方针

Ø  服务器有大量运算:swap > 4xRAM

Ø  Database serverswap <= 1GiB

Ø  Application serverswap >=0.5xRAM 

#同时也考虑如下方针

RAM1~2G   swap = 1.5xRAM

         28G  swap = 1RAM

         >8G    swap = 0.7xRAM

 

5.   Tuning swap for think time

l  swap小量使用

   vm.page.cluster     

[root@station9 ~]# sysctl -a |grep vm.page.cluster

vm.page-cluster = 3           

#一次性性从swap往内存写的页数,23次方

 

l  写入swap的延迟(多久往swap写一次)

  vm.sap_token_timeout

[root@station10 ~]# sysctl -a|grep vm.swap_token_timeout

vm.swap_token_timeout = 300      

#秒,默认300

 

6.   Tuning swap(创建swap

l  最多可创建32swap

 

l  创建swap

   mkswap -L myswap /dev/sdb1   #Lswap

 

l  指定swap优先级在/etc/fstab中调整

/dev/sda1     swap  swap  pri=3  0 0

LABEL=myswap  swap  swap  pri=3  0 0

/dev/sdc1     swap  swap  pri=3  0 0

/var/swapfile swap  swap  pri=1  0 0

#pri越大越优先使用

 

l  activate swap

  swapon -a

 

l  查看活动的swap分区

  cat /proc/swaps

  swapon –s

 

二、监控内存使用情况

1. 查看内存activity

 vmstat -n 1 30

 sar -r 1 30

[root@www ~]# sar -r 1 30

Linux 2.6.18-194.el5PAE (www.tuango163.com)     20110830

065327 kbmemfree kbmemused  %memused kbbuffers  kbcached kbswpfree kbswpused  %swpused  kbswpcad

065328   2847760   1304008     31.41    165536    982312   8385920         0      0.00         0

065329   2847760   1304008     31.41    165536    982312   8385920         0      0.00         0

 

2. rate of change in memory

 sar -R 1 30   #每秒一次,30

[root@www ~]# sar -R 1 30

Linux 2.6.18-194.el5PAE (www.tuango163.com)     20110830

065257   frmpg/s   bufpg/s   campg/s

065258      0.00      0.00  0.00

 

3. swap activity

 sar -W 1 30

[root@www ~]# sar -W 1 30

Linux 2.6.18-194.el5PAE (www.tuango163.com)     20110830

065413  pswpin/s pswpout/s

065414      0.00      0.00

065415      0.00      0.00

 

4. All IO

 sar -B 1 30

[root@www ~]# sar -B 1 30

Linux 2.6.18-194.el5PAE (www.tuango163.com)     20110830

065504  pgpgin/s pgpgout/s   fault/s  majflt/s

065505      0.00      0.00     14.00      0.00

065506      0.00     44.00     23.00      0.00


本文转自netsword 51CTO博客,原文链接:http://blog.51cto.com/netsword/654900

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值